Skip to main content

An open-source tool for automating data analysis tasks.

Project description

DataAuto v1.0.0

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.0

Alternatively, you can install directly from the GitHub repository:

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

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.1.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.1-py3-none-any.whl (25.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dataauto-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 f72051596dcdd518b81cd683012b6c5b4649f3b266af357b6b48dc1f1d93b79f
MD5 b5ec187759819338a4ce5cc0115174d3
BLAKE2b-256 dc2b208465fbb34439c488bfd5d0f8b6c39290ddb4673e6b7f81ef809413a879

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dataauto-1.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0d8f6ba9fa4a21df84149343a41d1aac49d305a6de88c372154678617932a465
MD5 bfb085830ecabd76df39b2695d6d77f1
BLAKE2b-256 774d00155152f68e72d5352597e63891aed91204ffc52b9ab2f5cc635c846a5b

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