Skip to main content

An open-source tool for automating data analysis tasks.

Project description

DataAuto v1.0.2

DataAuto is an open-source tool designed to automate common data analysis tasks. Whether you're a beginner or a seasoned data scientist, DataAuto simplifies the process of loading, summarizing, visualizing your data, training machine learning models, generating reports, and much more.

DataAuto Banner

Features

1. Data Loading & Saving

  • Load Data: Easily load data from CSV, JSON, Excel files, or SQL databases.
  • Save Data: Save processed data to various formats or export to SQL databases.

2. Data Cleaning & Preprocessing

  • Handle Missing Values: Fill missing data using mean, median, mode, or constant values.
  • Remove Outliers: Detect and remove outliers using IQR or Z-score methods.
  • Scale Data: Normalize or standardize numerical features using Min-Max or Standard scaling.

3. Data Visualization

  • Static Plots: Generate histograms, scatter plots, box plots, heatmaps, and line charts using Matplotlib and Seaborn.
  • Interactive Plots: Create interactive visualizations with Plotly and Bokeh.
  • Dashboards: Launch interactive dashboards using Streamlit for real-time data exploration.

4. Exploratory Data Analysis (EDA)

  • Summary Statistics: Quickly obtain descriptive statistics of your dataset.
  • Automated Reports: Generate comprehensive PDF reports summarizing your data analysis.

5. Machine Learning Integration

  • Model Training: Train machine learning models (regression and classification) with ease.
  • Model Evaluation: Evaluate model performance with detailed reports.
  • Hyperparameter Tuning: Optimize model parameters using Hyperopt.

6. Scheduling & Automation

  • Task Scheduling: Automate recurring data analysis tasks using APScheduler or Celery.
  • CI/CD Integration: Ensure code quality and automate deployments with GitHub Actions.

7. External Integrations

  • Cloud Services: Interact with AWS and Google Cloud services for scalable data storage and processing.
  • Communication Platforms: Send notifications and alerts via Slack or Microsoft Teams upon task completion or failures.

8. Testing & Quality Assurance

  • Automated Testing: Maintain code reliability with pytest, unittest, and coverage tools.
  • Code Quality: Enforce coding standards using flake8, pylint, and black.

9. Documentation & Community

  • Comprehensive Docs: Access detailed documentation, tutorials, and API references.
  • Community Support: Engage with other users and contributors through GitHub Discussions and dedicated Slack/Discord channels.

10. Advanced Data Filtering (New Feature)

  • Dynamic Filters: Apply complex filters to your datasets using multiple conditions and logical operators.
  • User-Friendly Interface: Intuitive commands for specifying filter criteria without deep technical knowledge.

Installation

DataAuto can be installed via pip. Ensure you have Python 3.8 or higher installed.

pip install dataauto==1.0.2

Alternatively, you can install directly from the GitHub repository:

pip install git+https://github.com/yourusername/dataauto.git@v1.0.2

Quick Start

  1. Load Data

Load a CSV file:

dataauto load path/to/data.csv --format csv

Load data from a PostgreSQL database:

dataauto load --format sql --db-type postgresql --host localhost --port 5432 --dbname mydb --user myuser --password mypass --query "SELECT * FROM mytable"
  1. Summarize data

Generate summary statistics:

dataauto summarize path/to/data.csv
  1. Plot Data

Generate a histogram:

dataauto plot path/to/data.csv --plot-type histogram --column Age --output-dir plots

Generate an interactive scatter plot:

dataauto plot path/to/data.csv --plot-type scatter --x Age --y Salary --output-dir plots --interactive
  1. Train a Machine Learning Model

Train a classifier:

dataauto train path/to/data.csv --target TargetColumn --model-type classifier --output-model model.joblib --output-report report.txt
  1. Generate a Report

Create a PDF report:

dataauto report path/to/data.csv --output-report analysis_report.pdf
  1. Launch Dashboard

Start the interactive dashboard:

dataauto dashboard
  1. Schedule a Task

Schedule a daily data load:

dataauto schedule --cron "0 0 * * *" dataauto load path/to/data.csv --format csv

Usage Examples

Detailed usage examples can be found in the Examples directory. (In Progress)

Roadmap

Check out our ROADMAP.md for upcoming features and improvements.

Contributing

We welcome contributions! Please see our CONTRIBUTING.md for guidelines.

Code of Conduct

Please adhere to our CODE_OF_CONDUCT.md when interacting with the community.

License

This project is licensed under the MIT License.

Acknowledgements

•	Pandas
•	Click
•	Seaborn
•	Matplotlib
•	Plotly
•	Streamlit
•	Scikit-learn
•	APScheduler
•	Celery
•	FPDF
•	Sphinx
•	MkDocs
•   Joblib

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dataauto-1.0.2.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dataauto-1.0.2-py3-none-any.whl (25.9 kB view details)

Uploaded Python 3

File details

Details for the file dataauto-1.0.2.tar.gz.

File metadata

  • Download URL: dataauto-1.0.2.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for dataauto-1.0.2.tar.gz
Algorithm Hash digest
SHA256 465dace2058ab7d17d9f700429c48d704333f340fe8b3876cbd9a45e9853d7d0
MD5 9eab4385aeffb5ccd2c836d5ac630459
BLAKE2b-256 3291b42e21d0ad419643d39f71adc2f6255609c13e55c5ccc17bfbe91dd17899

See more details on using hashes here.

File details

Details for the file dataauto-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: dataauto-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 25.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for dataauto-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 843516b361658476f485de313859fe7220c334454ce4a760d223a5974a4ad7af
MD5 ad84081d19a70a02e42c74926d36a60f
BLAKE2b-256 207056fd241c7c7772aea85e8a7c5292d74ff67dd6836fd9c2c08d2de9d20584

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page