difai


Namedifai JSON
Version 0.9.73 PyPI version JSON
download
home_pagehttps://gitlab.com/marvin.vanaalst/difai
Summary'Did I forget any imports' generates requirement files for you
upload_time2024-07-01 01:05:12
maintainerMarvin van Aalst
docs_urlNone
authorMarvin van Aalst
requires_python<4.0,>=3.8
licenseWTFPL
keywords packaging
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Did I forget any imports?

[![pipeline status](https://gitlab.com/marvin.vanaalst/difai/badges/main/pipeline.svg)](https://gitlab.com/marvin.vanaalst/difai/-/commits/main)
[![coverage report](https://gitlab.com/marvin.vanaalst/difai/badges/main/coverage.svg)](https://gitlab.com/marvin.vanaalst/difai/-/commits/main)
[![PyPi](https://img.shields.io/pypi/v/difai)](https://pypi.org/project/difai/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/)
[![security: bandit](https://img.shields.io/badge/security-bandit-yellow.svg)](https://github.com/PyCQA/bandit)
[![Downloads](https://pepy.tech/badge/difai)](https://pepy.tech/project/difai)

DIFAI searches for import statements for all the python and jupyter notebook files in the current directory. It then uses `pip freeze` to get your installed versions and `pip-compile` to generate a `requirements.txt` file containing all of your dependencies and their depdendencies including hashes for a reproducible build.

## Run

Simply call `difai` in the current folder.
You can change the input (where the `.py` and `.ipynb` files are read) and output (where the `requirement.in` and `requirements.txt` files are written) folders using
`--in-path` and `--out-path` respectively.
In order to exclude certain packages from the search, you can use the `--exclude` option.

## Pipeline

<div class="center">

```mermaid
graph TB
    A[glob] --> B
    A --> C
    B[.py] --> D
    C[.ipynb] -->|nbconvert| B
    D[AST]  --> E
    X[pip freeze] --> E
    E[requirements.in] -->|pip tools| F
    F[requirements.txt]
```

</div>

            

Raw data

            {
    "_id": null,
    "home_page": "https://gitlab.com/marvin.vanaalst/difai",
    "name": "difai",
    "maintainer": "Marvin van Aalst",
    "docs_url": null,
    "requires_python": "<4.0,>=3.8",
    "maintainer_email": "marvin.vanaalst@gmail.com",
    "keywords": "packaging",
    "author": "Marvin van Aalst",
    "author_email": "marvin.vanaalst@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/84/84/e7830ef52a3e75a9a2a105d7a895eae164e4961e84fb93c0c9e361d530bb/difai-0.9.73.tar.gz",
    "platform": null,
    "description": "# Did I forget any imports?\n\n[![pipeline status](https://gitlab.com/marvin.vanaalst/difai/badges/main/pipeline.svg)](https://gitlab.com/marvin.vanaalst/difai/-/commits/main)\n[![coverage report](https://gitlab.com/marvin.vanaalst/difai/badges/main/coverage.svg)](https://gitlab.com/marvin.vanaalst/difai/-/commits/main)\n[![PyPi](https://img.shields.io/pypi/v/difai)](https://pypi.org/project/difai/)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/)\n[![security: bandit](https://img.shields.io/badge/security-bandit-yellow.svg)](https://github.com/PyCQA/bandit)\n[![Downloads](https://pepy.tech/badge/difai)](https://pepy.tech/project/difai)\n\nDIFAI searches for import statements for all the python and jupyter notebook files in the current directory. It then uses `pip freeze` to get your installed versions and `pip-compile` to generate a `requirements.txt` file containing all of your dependencies and their depdendencies including hashes for a reproducible build.\n\n## Run\n\nSimply call `difai` in the current folder.\nYou can change the input (where the `.py` and `.ipynb` files are read) and output (where the `requirement.in` and `requirements.txt` files are written) folders using\n`--in-path` and `--out-path` respectively.\nIn order to exclude certain packages from the search, you can use the `--exclude` option.\n\n## Pipeline\n\n<div class=\"center\">\n\n```mermaid\ngraph TB\n    A[glob] --> B\n    A --> C\n    B[.py] --> D\n    C[.ipynb] -->|nbconvert| B\n    D[AST]  --> E\n    X[pip freeze] --> E\n    E[requirements.in] -->|pip tools| F\n    F[requirements.txt]\n```\n\n</div>\n",
    "bugtrack_url": null,
    "license": "WTFPL",
    "summary": "'Did I forget any imports' generates requirement files for you",
    "version": "0.9.73",
    "project_urls": {
        "Documentation": "https://gitlab.com/marvin.vanaalst/difai",
        "Homepage": "https://gitlab.com/marvin.vanaalst/difai",
        "Repository": "https://gitlab.com/marvin.vanaalst/difai"
    },
    "split_keywords": [
        "packaging"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "66e63737bb435d4ece0debf90a81fa3eced6a0be59b365d0373708b29c106a10",
                "md5": "9b02c80de1b525579d796d93a49a6507",
                "sha256": "bff8bd3e698f1ce79ddb7b78d8ff7a87a4616ffda5e31fe06e98993a66a93efe"
            },
            "downloads": -1,
            "filename": "difai-0.9.73-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9b02c80de1b525579d796d93a49a6507",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.8",
            "size": 4333,
            "upload_time": "2024-07-01T01:05:10",
            "upload_time_iso_8601": "2024-07-01T01:05:10.682005Z",
            "url": "https://files.pythonhosted.org/packages/66/e6/3737bb435d4ece0debf90a81fa3eced6a0be59b365d0373708b29c106a10/difai-0.9.73-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8484e7830ef52a3e75a9a2a105d7a895eae164e4961e84fb93c0c9e361d530bb",
                "md5": "155839a18de351fe5f4f88c2ab883bd3",
                "sha256": "ac1f8b95a259d6ba64fd07e3058a589e71f355b3032b47e58176e0114288986c"
            },
            "downloads": -1,
            "filename": "difai-0.9.73.tar.gz",
            "has_sig": false,
            "md5_digest": "155839a18de351fe5f4f88c2ab883bd3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.8",
            "size": 4254,
            "upload_time": "2024-07-01T01:05:12",
            "upload_time_iso_8601": "2024-07-01T01:05:12.532527Z",
            "url": "https://files.pythonhosted.org/packages/84/84/e7830ef52a3e75a9a2a105d7a895eae164e4961e84fb93c0c9e361d530bb/difai-0.9.73.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-01 01:05:12",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "codeberg": false,
    "gitlab_user": "marvin.vanaalst",
    "gitlab_project": "difai",
    "lcname": "difai"
}
        
Elapsed time: 0.28999s