Skip to main content

A Python package for migrating data between various databases.

Project description


Datamigrato

Datamigrato is a versatile Python package dedicated to simplifying the process of migrating data across multiple databases, including Cassandra, MongoDB, Firebase, and Firestore. Designed with scalability, ease of use, and a well-maintained code structure in mind, it offers a comprehensive solution for various data transfer strategies and optimizations, making it an ideal choice for projects of all sizes and an accessible platform for contributors.

Features

  • Wide Range of Database Support: Migrate data between popular databases such as Cassandra, MongoDB, Firebase, and Firestore.
  • Scalability: Engineered for scalability to handle large datasets efficiently.
  • Ease of Use: Simplifies the migration process, reducing the complexity involved in schema conversions, CRUD operations, and connection management.
  • Optimized Data Transfer: Incorporates advanced data transfer strategies and optimizations to ensure fast and reliable migrations.
  • Well-Maintained Code Structure: The codebase is organized and documented, facilitating easy understanding and contribution by developers.
  • CI/CD Integration: Fully integrates into CI/CD pipelines for automated testing and deployment, ensuring code quality and reliability.

Installation

To install Datamigrato, simply use pip:

pip install datamigrato

Quick Start

Here's how to quickly get started with Datamigrato:

from datamigrato import Migrator

# Example: Migrate from MongoDB to Cassandra
migrator = Migrator()
migrator.mongo_to_cassandra(source_db_config, target_db_config)

Replace source_db_config and target_db_config with your database configurations.

CI/CD Pipeline Integration

Datamigrato is designed to seamlessly integrate into CI/CD workflows:

  • Continuous Integration (CI): During the CI phase, code is automatically checked, linted, and tested. We leverage FreeAPI, created by Hitesh Chaudhary and team, for live backend tests. This tool allows us to simulate real-world operations by populating a test database and performing migrations to ensure functionality.
  • Continuous Deployment (CD): After passing CI tests, the code is reviewed and linted with Flake8 before being published to PyPI, ensuring that only high-quality code is deployed.

How to Contribute

We welcome contributions from the community! If you're interested in adding support for more databases, enhancing migration algorithms, or otherwise improving Datamigrato, please follow these steps:

  1. Fork the repository.
  2. Create your feature branch:
    git checkout -b feature/AmazingFeature
  3. Commit your changes:
    git commit -m 'Add some AmazingFeature'
  4. Push to the branch:
    git push origin feature/AmazingFeature
  5. Open a pull request.

License

Distributed under the MIT License. See LICENSE for more information.

Acknowledgments

  • A special thank you to FreeAPI.app and its contributors for providing an invaluable tool for our CI testing needs.
  • For more information on Datamigrato, including detailed documentation and advanced usage examples, please visit our GitHub repository.

Join Us

Datamigrato is more than a tool; it's a community. We're committed to making our project as open and maintainable as possible—because we know that the best ideas come from collaboration. Whether you're fixing a bug or adding a new feature, your contributions help us all.

So, dive in! The code is designed to be accessible, allowing you to easily make your mark. Let's build something great together.

Created with love by Ritikdutta. Ritikdutta.com

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

datamigrato-0.4.1.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

datamigrato-0.4.1-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file datamigrato-0.4.1.tar.gz.

File metadata

  • Download URL: datamigrato-0.4.1.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for datamigrato-0.4.1.tar.gz
Algorithm Hash digest
SHA256 06e9245c6a93e6c59e78d806c3cd79dd344e3808c9fae02e6fc1c20f379d8027
MD5 63487e4693bc374638860e420c63e4de
BLAKE2b-256 6993ffd4241924a28a6e4a00536e9bd7dee861b23b48d2086cce27755a234afb

See more details on using hashes here.

File details

Details for the file datamigrato-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: datamigrato-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for datamigrato-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9670f351b3fa4e26b2d94e3978f30475e5e99231977812a976cce9ed9e75040f
MD5 2f26bdd8dac43e04e4278feee72520fc
BLAKE2b-256 462c4f3a168a621a8afbaa2738de2150fbf80378e82816cd6622ab238c09cc37

See more details on using hashes here.

Supported by

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