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.0.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

datamigrato-0.4.0-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: datamigrato-0.4.0.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.0.tar.gz
Algorithm Hash digest
SHA256 b146025d43b605fcedae9b894b180b8a83292baff174927c076c399b9ea7c1a4
MD5 4bbb1a5d44234df365b147b7c67f18f0
BLAKE2b-256 e63eb8ed29a2f3c6e8cdbfb274a541fc6a3508aa9a9310a0a61a657b858cadeb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: datamigrato-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 14.7 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c0a16c69442f1428f7dec19dca37c28cadc5862a9e5cbf430038119f4fc9ae57
MD5 0a047824b1032b217288339d1c25b0f6
BLAKE2b-256 d86cb899d98982126b46c841240e6c536d5223bf03d951658b84bca164b20261

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