py3dephell


Namepy3dephell JSON
Version 0.2.1 PyPI version JSON
download
home_page
SummaryHelps to control project dependencies and provides
upload_time2024-02-25 20:12:12
maintainer
docs_urlNone
author
requires_python>=3.10
licenseGPLv2
keywords dependencies provides requirements dependency hell
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Py3DepHell
This project presents tools to work with dependencies and provides of python3 projects.

## py3req
This module detects dependencies of python3 packages. It has verbose **--help** option, but here is simple example how to use it:

## py3prov
This module generate provides for python3 packages. As for **py3req** its **--help** is verbose enough

## How to
Imagine you have simple project like this one:
```
src/
├── pkg1
│   ├── mod1.py
│   └── subpkg
│       └── mod3.py
└── tests
    └── test1.py
```

Now you want to detect its dependencies:
```
% python3 -m py3dephell.py3req --pip_format src
unittest
re
re
```
Feel free to make it more verbose:
```
% python3 -m py3dephell.py3req --pip_format --verbose src
py3prov: detected potential module:src
/tmp/.private/kotopesutility/src/tests/test1.py:unittest
/tmp/.private/kotopesutility/src/pkg1/mod1.py:requests os
/tmp/.private/kotopesutility/src/pkg1/subpkg/mod3.py:re
```
As you can see, there are some modules from standard library, so let py3req to learn it:
```
% python3 -m py3dephell.py3req --pip_format --add_prov_path /usr/lib64/python3.11 src
requests
```
That's it! But what if we want to detect its provides, to understand which dependencies it could satisfy? Let's use py3prov!
```
% python3 -m py3dephell.py3prov src
test1
tests.test1
src.tests.test1
mod1
pkg1.mod1
src.pkg1.mod1
mod3
subpkg.mod3
pkg1.subpkg.mod3
src.pkg1.subpkg.mod3
```
Yeah, let's enhance the verbosity level!
```
% python3 -m py3dephell.py3prov --verbose src/pkg1 src/tests
src/tests:['test1', 'tests.test1', 'src.tests.test1']
src/pkg1:['mod1', 'pkg1.mod1', 'src.pkg1.mod1', 'mod3', 'subpkg.mod3', 'pkg1.subpkg.mod3', 'src.pkg1.subpkg.mod3']
```

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "py3dephell",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "",
    "keywords": "dependencies,provides,requirements,dependency hell",
    "author": "",
    "author_email": "Daniel Zagaynov <kotopesutility@altlinux.org>",
    "download_url": "https://files.pythonhosted.org/packages/c2/3e/fc6ac7fdee844d22197eff67aaa59aad20848d4d6b5b26323da10edc2bf6/py3dephell-0.2.1.tar.gz",
    "platform": null,
    "description": "# Py3DepHell\nThis project presents tools to work with dependencies and provides of python3 projects.\n\n## py3req\nThis module detects dependencies of python3 packages. It has verbose **--help** option, but here is simple example how to use it:\n\n## py3prov\nThis module generate provides for python3 packages. As for **py3req** its **--help** is verbose enough\n\n## How to\nImagine you have simple project like this one:\n```\nsrc/\n\u251c\u2500\u2500 pkg1\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 mod1.py\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 subpkg\n\u2502\u00a0\u00a0     \u2514\u2500\u2500 mod3.py\n\u2514\u2500\u2500 tests\n    \u2514\u2500\u2500 test1.py\n```\n\nNow you want to detect its dependencies:\n```\n% python3 -m py3dephell.py3req --pip_format src\nunittest\nre\nre\n```\nFeel free to make it more verbose:\n```\n% python3 -m py3dephell.py3req --pip_format --verbose src\npy3prov: detected potential module:src\n/tmp/.private/kotopesutility/src/tests/test1.py:unittest\n/tmp/.private/kotopesutility/src/pkg1/mod1.py:requests os\n/tmp/.private/kotopesutility/src/pkg1/subpkg/mod3.py:re\n```\nAs you can see, there are some modules from standard library, so let py3req to learn it:\n```\n% python3 -m py3dephell.py3req --pip_format --add_prov_path /usr/lib64/python3.11 src\nrequests\n```\nThat's it! But what if we want to detect its provides, to understand which dependencies it could satisfy? Let's use py3prov!\n```\n% python3 -m py3dephell.py3prov src\ntest1\ntests.test1\nsrc.tests.test1\nmod1\npkg1.mod1\nsrc.pkg1.mod1\nmod3\nsubpkg.mod3\npkg1.subpkg.mod3\nsrc.pkg1.subpkg.mod3\n```\nYeah, let's enhance the verbosity level!\n```\n% python3 -m py3dephell.py3prov --verbose src/pkg1 src/tests\nsrc/tests:['test1', 'tests.test1', 'src.tests.test1']\nsrc/pkg1:['mod1', 'pkg1.mod1', 'src.pkg1.mod1', 'mod3', 'subpkg.mod3', 'pkg1.subpkg.mod3', 'src.pkg1.subpkg.mod3']\n```\n",
    "bugtrack_url": null,
    "license": "GPLv2",
    "summary": "Helps to control project dependencies and provides",
    "version": "0.2.1",
    "project_urls": {
        "Homepage": "https://git.altlinux.org/people/kotopesutility/packages/py3dephell.git"
    },
    "split_keywords": [
        "dependencies",
        "provides",
        "requirements",
        "dependency hell"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "96d576a92daa0eb95a69ef95cc8b5d83eae2b5b0966539ee85737499f34c8154",
                "md5": "e0b5b5dfe5f466f9f2138627f14bee64",
                "sha256": "94e0e42201ca4cbc87d08d6e62846136443f419362f74930ca3ef2de28ba10a4"
            },
            "downloads": -1,
            "filename": "py3dephell-0.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e0b5b5dfe5f466f9f2138627f14bee64",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 17820,
            "upload_time": "2024-02-25T20:12:09",
            "upload_time_iso_8601": "2024-02-25T20:12:09.576359Z",
            "url": "https://files.pythonhosted.org/packages/96/d5/76a92daa0eb95a69ef95cc8b5d83eae2b5b0966539ee85737499f34c8154/py3dephell-0.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c23efc6ac7fdee844d22197eff67aaa59aad20848d4d6b5b26323da10edc2bf6",
                "md5": "dfcb933558be29d50c4d505fa846b865",
                "sha256": "be77f839d217f9e32172b763ae576e81fb53e7d7732dba62a740945b3f98e6c6"
            },
            "downloads": -1,
            "filename": "py3dephell-0.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "dfcb933558be29d50c4d505fa846b865",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 20527,
            "upload_time": "2024-02-25T20:12:12",
            "upload_time_iso_8601": "2024-02-25T20:12:12.564033Z",
            "url": "https://files.pythonhosted.org/packages/c2/3e/fc6ac7fdee844d22197eff67aaa59aad20848d4d6b5b26323da10edc2bf6/py3dephell-0.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-25 20:12:12",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "py3dephell"
}
        
Elapsed time: 0.50047s