MCPcopy Index your code
hub / github.com/datacleaner/DataCleaner

github.com/datacleaner/DataCleaner @DataCleaner-5.9.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release DataCleaner-5.9.0 ↗ · + Follow
12,023 symbols 49,333 edges 1,775 files 2,044 documented · 17%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

DataCleaner

DataCleaner logo

The premier Open Source Data Quality solution.

DataCleaner is a Data Quality toolkit that allows you to profile, correct and enrich your data. People use it for ad-hoc analysis, recurring cleansing as well as a swiss-army knife in matching and Master Data Management solutions.

Project status

The project is maintained, but is not being actively developed:

  • We ensure that DataCleaner runs on modern versions of Java on major operating systems.
  • We take security bugs serious and try to keep dependencies up to date whenever there are vulnerabilities detected.
  • We are open for bug reports, contributions and discussions.
  • New features are driven by pull requests.

The current maintainer of the project is @kaspersorensen.

Where to go for end-user information?

Please visit the DataCleaner community website https://datacleaner.github.io for downloads, news, documentation etc.

Visit our Gitter chat channel https://gitter.im/datacleaner/community for asking questions or discussions.

GitHub markdown pages and issues are used for developers and technical aspects only.

Module structure

The main application modules are:

  • api - The public API of DataCleaner. Mostly interfaces and annotations that you should use to build your own extensions.
  • resources - Static resources in DataCleaner
  • oss-branding - Icons and colors
  • testware - Useful classes for unit testing of DataCleaner and extension code.
  • engine
  • core - The core engine piece which allows execution of jobs and components as per the API.
  • xml-config - Contains utilities for reading and writing job files and configuration files of DataCleaner.
  • env - Different/alternative environments that DataCleaner can run in, for instance Apache Spark or webapp-cluster
  • components
  • ... - many sub modules containing built-in as well as additional components/extensions to use with DataCleaner.
  • standard-components - a container-project that dependends on all components that are normally bundled in DataCleaner community edition.
  • desktop
  • api - The public API for the DataCleaner desktop application.
  • ui - The Swing-based user interface for desktop users
  • monitor
  • api - the API classes and interfaces of DataCleaner monitor

Code style and formatting

In the root of the project you can find 'Formatter-[IDE].xml' files which enable you to import the code formatting rules of the project into your IDE.

License

Licensed under the Lesser General Public License, see http://www.gnu.org/licenses/lgpl.txt

Extension points exported contracts — how you extend this code

HtmlFragment (Interface)
Represents a fragment of HTML to be inserted into a HTML page. [11 implementers]
components/html-rendering/src/main/java/org/datacleaner/result/html/HtmlFragment.java
PrecedingComponentConsumer (Interface)
Interface for Components that are capable of placing itself as a consumer (succeeding component) of a preceding [8 implementers]
desktop/api/src/main/java/org/datacleaner/desktop/api/PrecedingComponentConsumer.java
SynonymCatalogChangeListener (Interface)
Use org.datacleaner.user.ReferenceDataChangeListener instead [34 implementers]
desktop/ui/src/main/java/org/datacleaner/user/SynonymCatalogChangeListener.java
AnalysisResultWriter (Interface)
Defines the interface for components that write an AnalysisResult, typically to a file or System#out. [18 implementers]
engine/core/src/main/java/org/datacleaner/result/AnalysisResultWriter.java
JaxbJobMetadataFactory (Interface)
Interface that acts as an optional hook for JaxbJobWriter to define custom job metadata. [9 implementers]
engine/xml-config/src/main/java/org/datacleaner/job/JaxbJobMetadataFactory.java
UpdateableDatastoreConnection (Interface)
Represents a connection to a datastore that is updateable/writable. [8 implementers]
api/src/main/java/org/datacleaner/connection/UpdateableDatastoreConnection.java
FileDatastore (Interface)
Interface for datastores that are based upon a file. File datastores are often also ResourceDatastores. [20 implementers]
datastores/utils/src/main/java/org/datacleaner/connection/FileDatastore.java
ValueFrequency (Interface)
Represents a frequency of values. Value frequencies can either represent a single value or a composite list of other val [5 …
components/value-distribution/src/main/java/org/datacleaner/result/ValueFrequency.java

Core symbols most depended-on inside this repo

add
called by 1868
api/src/main/java/org/datacleaner/job/FilterOutcomes.java
get
called by 1508
api/src/main/java/org/datacleaner/api/AnalyzerResultFuture.java
put
called by 1042
components/date-gap/src/main/java/org/datacleaner/beans/dategap/DateGapAnalyzer.java
toString
called by 941
api/src/main/java/org/datacleaner/api/Converter.java
size
called by 756
engine/core/src/main/java/org/datacleaner/util/batch/BatchSource.java
put
called by 428
engine/core/src/main/java/org/datacleaner/data/MockInputRow.java
getName
called by 384
api/src/main/java/org/datacleaner/api/InputColumn.java
where
called by 322
engine/core/src/main/java/org/datacleaner/result/Crosstab.java

Shape

Method 10,125
Class 1,571
Interface 248
Enum 71
Function 8

Languages

Java100%
TypeScript1%

Modules by API surface

desktop/ui/src/main/java/org/datacleaner/widgets/tabs/Packer.java87 symbols
engine/core/src/main/java/org/datacleaner/job/builder/AnalysisJobBuilder.java79 symbols
desktop/ui/src/main/java/org/datacleaner/windows/AnalysisJobBuilderWindowImpl.java64 symbols
engine/core/src/main/java/org/datacleaner/job/builder/AbstractComponentBuilder.java54 symbols
desktop/ui/src/main/java/org/datacleaner/windows/HdfsUrlChooser.java47 symbols
engine/utils/src/main/java/org/datacleaner/util/ReflectionUtils.java43 symbols
desktop/ui/src/main/java/org/datacleaner/user/UserPreferencesImpl.java42 symbols
desktop/ui/src/main/java/org/datacleaner/widgets/tree/SchemaTree.java39 symbols
components/basic-analyzers/src/main/java/org/datacleaner/beans/StringAnalyzerColumnDelegate.java39 symbols
engine/core/src/main/java/org/datacleaner/user/UserPreferences.java38 symbols
desktop/ui/src/main/java/org/datacleaner/windows/ResultWindow.java38 symbols
engine/core/src/main/java/org/datacleaner/descriptors/PlaceholderComponentJob.java35 symbols

Datastores touched

(mysql)Database · 1 repos

For agents

$ claude mcp add DataCleaner \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact