{ "info": { "author": "Anton Ovchinnikov", "author_email": "anton.ovchi2nikov@gmail.com", "bugtrack_url": null, "classifiers": [ "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "===============================\ndjango-migration-checker\n===============================\n\n\n.. image:: https://img.shields.io/pypi/v/django_migration_checker.svg\n :target: https://pypi.python.org/pypi/django_migration_checker\n\n.. image:: https://img.shields.io/travis/tonyo/django-migration-checker.svg\n :target: https://travis-ci.org/tonyo/django-migration-checker\n\n.. image:: https://coveralls.io/repos/github/tonyo/django-migration-checker/badge.svg?branch=master\n :target: https://coveralls.io/github/tonyo/django-migration-checker?branch=master\n\n\nThe package allows to detect migration conflicts in Django_ application via static code analysis. In other words, it doesn't run or import any of your code, but finds and parses Django migration files.\n\nThe package should work fine with Python 2.7 and 3.4+, and migrations generated by Django 1.7 and later.\n\n**Example:**\n\n::\n\n >>> from django_migration_checker import get_conflicts\n >>> get_conflicts(app_dir='./django-project/apps')\n [('accounts', ['0001_initial', '0002_new_migration'])]\n\n* Free software: MIT license\n\n\nInstallation\n------------\n\n::\n\n pip install django-migration-checker\n\nWhy?\n----\n\nThe initial goal was to have some way to quickly analyze pull requests to a Django project and detect if the new changes introduce migration conflicts if they are merged to ``master``. \n\nHere are a few features:\n\n* Fast\n\n No database connections, heavy modules loading, or checks are performed, so why would it be slow?\n\n* No up-to-date environment needed\n\n You don't need to have a working Django environment (valid ``settings.py`` file, all installed dependencies, etc.) to use this package. The only requirement is to have properly generated migration files.\n\n* No dependencies\n\n The package doesn't require Django itself, NumPy, left-pad, or any other packages. \n\n\nCommand-line tool\n-----------------\n\nAfter installing the package you can use the command-line script ``django-find-conflicts`` to detect migration conflicts from your console.\n\nHere's how it looks like:\n\n::\n\n $ django-find-conflicts ./django-project/apps\n [('accounts', ['0001_initial', '0002_new_migration'])]\n\n $ django-find-conflicts ./another-django-project/apps\n No conflicts detected.\n\nCredits\n---------\n\nThis package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n\n.. _Django: https://www.djangoproject.com/\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n\n\n=======\nHistory\n=======\n\n0.1.0 (2016-09-09)\n------------------\n\n* First release on PyPI.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tonyo/django-migration-checker", "keywords": "django_migration_checker", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "django-migration-checker", "package_url": "https://pypi.org/project/django-migration-checker/", "platform": "", "project_url": "https://pypi.org/project/django-migration-checker/", "project_urls": { "Homepage": "https://github.com/tonyo/django-migration-checker" }, "release_url": "https://pypi.org/project/django-migration-checker/0.5.0/", "requires_dist": null, "requires_python": "", "summary": "Static migration conflict checker for Django", "version": "0.5.0" }, "last_serial": 5302604, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "5a2f4cadc662098d35d66f6dea06cdde", "sha256": "11bc4d01e8e88399c4ccfe487b52a69d2c3ea46402ae3cf2aee995592ef0aee2" }, "downloads": -1, "filename": "django_migration_checker-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5a2f4cadc662098d35d66f6dea06cdde", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 4849, "upload_time": "2016-09-10T23:33:36", "url": "https://files.pythonhosted.org/packages/08/b2/c20951a769ea8e474544da280dc5c49a49763195c05b0359638b157797f7/django_migration_checker-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ed2c834480dabf03da646142ca4a69a", "sha256": "dfd2bbebfa3aff8c2453e2669789fb56436e6e15d6bebc264ed527981c6ca0c1" }, "downloads": -1, "filename": "django_migration_checker-0.2.0.tar.gz", "has_sig": false, "md5_digest": "6ed2c834480dabf03da646142ca4a69a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14015, "upload_time": "2016-09-10T23:33:33", "url": "https://files.pythonhosted.org/packages/c7/97/777f75d4be452c1b2af65a5116897fc6d7c6fc96a704d7fcc6ca870fb401/django_migration_checker-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "bfd70f025a16f4c0bcb7a1f0ec984c95", "sha256": "8bcf893924e43e18fa1969ff565a4b535279672409e30441b7b815b5825f9d2b" }, "downloads": -1, "filename": "django_migration_checker-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bfd70f025a16f4c0bcb7a1f0ec984c95", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 4700, "upload_time": "2016-09-18T11:39:58", "url": "https://files.pythonhosted.org/packages/ef/a8/add48a2a48365fa45adbb899b674af504db9f3c20941b9185dd044354e86/django_migration_checker-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9aa4595686bed678674926806da00446", "sha256": "52a505999d992acc64b0d571796c421ea90f15941ceb0c5572200ca2048d1f51" }, "downloads": -1, "filename": "django_migration_checker-0.2.1.tar.gz", "has_sig": false, "md5_digest": "9aa4595686bed678674926806da00446", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14188, "upload_time": "2016-09-18T11:39:55", "url": "https://files.pythonhosted.org/packages/f4/5d/9a3aee40055abad5b0b066687bd4e3b5c0a9ac9fc15beeef31be6dec4d0c/django_migration_checker-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "4f591454e87bf2cc8c0e8705eb0111fa", "sha256": "a0adf7fa7c4e2018a28b620287fb0ccb4606270b31b220123afe28ffa2fac59c" }, "downloads": -1, "filename": "django_migration_checker-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4f591454e87bf2cc8c0e8705eb0111fa", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 4704, "upload_time": "2016-09-18T11:51:55", "url": "https://files.pythonhosted.org/packages/17/66/ad6bfc36dc632c381a5e51dc77f9de974d1c86f59e67b818d4b19d4dcb73/django_migration_checker-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6cf69449b07e37ec408a3dab189e1363", "sha256": "56a31d9a6954fc758c82c0fb8eb0eeb87dd44c5e86fa2ce054f1886307ff1029" }, "downloads": -1, "filename": "django_migration_checker-0.2.2.tar.gz", "has_sig": false, "md5_digest": "6cf69449b07e37ec408a3dab189e1363", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14183, "upload_time": "2016-09-18T11:51:53", "url": "https://files.pythonhosted.org/packages/07/cf/1c992633ccf004c93ec2cab9edfa4778b92b38a13bd4f3df271c54bf3a2f/django_migration_checker-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "81a91aa7d1bd8183812652ffff6b4ca3", "sha256": "93587106766724b75de9405b78887a6909b0c0d1ca6d6bfa2a5ccb160ce661cb" }, "downloads": -1, "filename": "django_migration_checker-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "81a91aa7d1bd8183812652ffff6b4ca3", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 4770, "upload_time": "2016-09-18T13:46:13", "url": "https://files.pythonhosted.org/packages/67/7b/959cd3cb7bc41a247fba50005f20900fe40c1a95096723358439e7393a27/django_migration_checker-0.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c1283c5672396345ae9eeb2863f3e129", "sha256": "5b943caff52e3749a9c908bde17fd74f1b3c21feee25ac3d29c2578320b75838" }, "downloads": -1, "filename": "django_migration_checker-0.2.3.tar.gz", "has_sig": false, "md5_digest": "c1283c5672396345ae9eeb2863f3e129", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14256, "upload_time": "2016-09-18T13:46:10", "url": "https://files.pythonhosted.org/packages/c4/05/352b2a17dc1fd7902db158e7326773639f0c4ff9f34598090e2a8acc92a0/django_migration_checker-0.2.3.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "37a70930d139ec64d84d7d59e08cd5a2", "sha256": "10a540719b0f49371659f7ced12be5285a7328efec1037a92e95dbfb133884f4" }, "downloads": -1, "filename": "django_migration_checker-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "37a70930d139ec64d84d7d59e08cd5a2", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 4771, "upload_time": "2016-09-18T13:50:32", "url": "https://files.pythonhosted.org/packages/86/66/b1962f7007d3cace77982c035067d18e08ae408bfbbdc60668678a6c68ed/django_migration_checker-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6592203d729d8e993787a209724c4b86", "sha256": "7a299967b987faba3ce069b999f3e555b69ba1ecad7800c701d6b07bbe9da4de" }, "downloads": -1, "filename": "django-migration-checker-0.3.0.tar.gz", "has_sig": false, "md5_digest": "6592203d729d8e993787a209724c4b86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14256, "upload_time": "2016-09-18T13:50:29", "url": "https://files.pythonhosted.org/packages/b3/8e/0c73ebb9c7bc18db06a73e6acc0d8acb7098f8f72a518f0ab3e365bbc854/django-migration-checker-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "eff39e628704002cea49ca1dd7250dcf", "sha256": "0275048fe8b3b463dc87d6c1cf85e4e693d78628cae3a17ac4ab3702c6740b4d" }, "downloads": -1, "filename": "django_migration_checker-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eff39e628704002cea49ca1dd7250dcf", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 6224, "upload_time": "2016-09-25T13:27:53", "url": "https://files.pythonhosted.org/packages/09/4b/2da6f35e5277087ed6ccc8b320edb025abb880ce9efb81cc17a758b3652d/django_migration_checker-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9aec5c9c713e200b87cbda5b46498931", "sha256": "bc12862e34af86231f5fcb46e5a769233915b560bc5ca538e6656f1e498e37fa" }, "downloads": -1, "filename": "django-migration-checker-0.4.0.tar.gz", "has_sig": false, "md5_digest": "9aec5c9c713e200b87cbda5b46498931", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23867, "upload_time": "2016-09-25T13:27:49", "url": "https://files.pythonhosted.org/packages/79/02/2b8389cbe88466793737bdb3f45ae961abc5ffc1b2cfdf326bc6be209b2a/django-migration-checker-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "0b23396979280598685152aadf8c37e1", "sha256": "1e0680bdda0d184b1cf81ce666b5c56f2c640de3e5b21456c6ee211c69a58a83" }, "downloads": -1, "filename": "django_migration_checker-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0b23396979280598685152aadf8c37e1", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 6915, "upload_time": "2016-10-06T14:00:06", "url": "https://files.pythonhosted.org/packages/c8/4e/5b71d835783fadd30a2007511f8663229660110b012668c3e23b4b1b8a5c/django_migration_checker-0.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c1ca392bd0c7efbaa18d648ca729364d", "sha256": "a2ff236b6a053a81eea0d38e1cc14783d7bf741619ec3dfbab60d72c9a37c209" }, "downloads": -1, "filename": "django-migration-checker-0.4.1.tar.gz", "has_sig": false, "md5_digest": "c1ca392bd0c7efbaa18d648ca729364d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24108, "upload_time": "2016-10-06T14:00:02", "url": "https://files.pythonhosted.org/packages/ed/dd/0d2bc00054de8108790b04dc6af5ad18eeef852cf7a4169bc4fb6cd9649c/django-migration-checker-0.4.1.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "059fc40f75ddf228e30a1aafab2aec3e", "sha256": "cd58c98d4f2683e0082926283208839e243612bfe35fed37a16915c8b5b7d528" }, "downloads": -1, "filename": "django_migration_checker-0.4.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "059fc40f75ddf228e30a1aafab2aec3e", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 7027, "upload_time": "2018-04-20T22:59:20", "url": "https://files.pythonhosted.org/packages/70/ae/473095e16d62c29eb0697868eca672aa5a21594ddba53d2045e9e434c567/django_migration_checker-0.4.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80c3f238f4d275df1a7d5c10d54b876a", "sha256": "44826efeab4dee3144aaa6c686ce19ac07f532d77790f716befed72b17d4148f" }, "downloads": -1, "filename": "django-migration-checker-0.4.3.tar.gz", "has_sig": false, "md5_digest": "80c3f238f4d275df1a7d5c10d54b876a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16802, "upload_time": "2018-04-20T22:59:17", "url": "https://files.pythonhosted.org/packages/14/d9/974ea326958df8a0c6450ac8d02ec6c434dc69120afffa0995512f6f61ca/django-migration-checker-0.4.3.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "72fdb31bfad91098c2b7da6236b20eb3", "sha256": "d22bdfa0549b9978a607abbf4fde6d39c739f1d7866139287b7821a31e3a82af" }, "downloads": -1, "filename": "django_migration_checker-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "72fdb31bfad91098c2b7da6236b20eb3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7050, "upload_time": "2019-05-22T12:57:56", "url": "https://files.pythonhosted.org/packages/51/65/a36784057ba19685b0bf0cee7b98a41bd3fc67d710430c4db3060816a6d2/django_migration_checker-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4531220aa835f5964c0b84d5d0ce30d3", "sha256": "84c3b1497d724123cff8065432be90bb2173b8aa47c59e1a41872f616713c4d4" }, "downloads": -1, "filename": "django-migration-checker-0.5.0.tar.gz", "has_sig": false, "md5_digest": "4531220aa835f5964c0b84d5d0ce30d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16322, "upload_time": "2019-05-22T12:57:57", "url": "https://files.pythonhosted.org/packages/03/51/7d865c3564df6be63bbbed604b363d0a36ab3194626b0bfed7c1e5000949/django-migration-checker-0.5.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "72fdb31bfad91098c2b7da6236b20eb3", "sha256": "d22bdfa0549b9978a607abbf4fde6d39c739f1d7866139287b7821a31e3a82af" }, "downloads": -1, "filename": "django_migration_checker-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "72fdb31bfad91098c2b7da6236b20eb3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7050, "upload_time": "2019-05-22T12:57:56", "url": "https://files.pythonhosted.org/packages/51/65/a36784057ba19685b0bf0cee7b98a41bd3fc67d710430c4db3060816a6d2/django_migration_checker-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4531220aa835f5964c0b84d5d0ce30d3", "sha256": "84c3b1497d724123cff8065432be90bb2173b8aa47c59e1a41872f616713c4d4" }, "downloads": -1, "filename": "django-migration-checker-0.5.0.tar.gz", "has_sig": false, "md5_digest": "4531220aa835f5964c0b84d5d0ce30d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16322, "upload_time": "2019-05-22T12:57:57", "url": "https://files.pythonhosted.org/packages/03/51/7d865c3564df6be63bbbed604b363d0a36ab3194626b0bfed7c1e5000949/django-migration-checker-0.5.0.tar.gz" } ] }