Metadata-Version: 2.4
Name: aedev_project_manager
Version: 0.3.14
Summary: aedev namespace package portion project_manager: maintain Python projects locally and remotely
Home-page: https://gitlab.com/aedev-group/aedev_project_manager
Author: AndiEcker
Author-email: aecker2@gmail.com
License: GPL-3.0-or-later
Project-URL: Bug Tracker, https://gitlab.com/aedev-group/aedev_project_manager/-/issues
Project-URL: Documentation, https://aedev.readthedocs.io/en/latest/_autosummary/aedev.project_manager.html
Project-URL: Repository, https://gitlab.com/aedev-group/aedev_project_manager
Project-URL: Source, https://aedev.readthedocs.io/en/latest/_modules/aedev/project_manager.html
Keywords: configuration,development,environment,productivity
Classifier: Development Status :: 3 - Alpha
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: anybadge==1.16.0
Requires-Dist: flake8==7.3.0
Requires-Dist: mypy==1.19.1
Requires-Dist: packaging==26.0
Requires-Dist: pillow==12.1.1
Requires-Dist: types-Pillow==10.2.0.20240822
Requires-Dist: PyGithub==2.8.1
Requires-Dist: pylint==4.0.4
Requires-Dist: pytest==9.0.2
Requires-Dist: pytest-cov==7.0.0
Requires-Dist: python-gitlab==8.0.0
Requires-Dist: requests==2.32.5
Requires-Dist: requests-toolbelt==1.0.0
Requires-Dist: ae_base==0.3.78
Requires-Dist: ae_files==0.3.25
Requires-Dist: ae_paths==0.3.43
Requires-Dist: ae_dynamicod==0.3.15
Requires-Dist: ae_literal==0.3.35
Requires-Dist: ae_updater==0.3.17
Requires-Dist: ae_core==0.3.82
Requires-Dist: ae_console==0.3.93
Requires-Dist: ae_shell==0.3.12
Requires-Dist: ae_managed_files==0.3.4
Requires-Dist: ae_pythonanywhere==0.3.3
Requires-Dist: aedev_base==0.3.4
Requires-Dist: aedev_commands==0.3.7
Requires-Dist: aedev_project_vars==0.3.6
Provides-Extra: dev
Requires-Dist: aedev_project_tpls==0.3.75; extra == "dev"
Requires-Dist: aedev_aedev==0.3.30; extra == "dev"
Requires-Dist: ae-parse-date==0.3.5; extra == "dev"
Requires-Dist: ae_base==0.3.78; extra == "dev"
Requires-Dist: ae_console==0.3.93; extra == "dev"
Requires-Dist: ae_core==0.3.82; extra == "dev"
Requires-Dist: ae_dynamicod==0.3.15; extra == "dev"
Requires-Dist: ae_files==0.3.25; extra == "dev"
Requires-Dist: ae_literal==0.3.35; extra == "dev"
Requires-Dist: ae_managed_files==0.3.4; extra == "dev"
Requires-Dist: ae_paths==0.3.43; extra == "dev"
Requires-Dist: ae_pythonanywhere==0.3.3; extra == "dev"
Requires-Dist: ae_shell==0.3.12; extra == "dev"
Requires-Dist: ae_updater==0.3.17; extra == "dev"
Requires-Dist: aedev_app_tpls==0.3.19; extra == "dev"
Requires-Dist: aedev_base==0.3.4; extra == "dev"
Requires-Dist: aedev_commands==0.3.7; extra == "dev"
Requires-Dist: aedev_namespace_root_tpls==0.3.24; extra == "dev"
Requires-Dist: aedev_project_manager==0.3.14; extra == "dev"
Requires-Dist: aedev_project_vars==0.3.6; extra == "dev"
Requires-Dist: anybadge==1.16.0; extra == "dev"
Requires-Dist: argcomplete==3.6.3; extra == "dev"
Requires-Dist: astroid==4.0.2; extra == "dev"
Requires-Dist: certifi==2025.4.26; extra == "dev"
Requires-Dist: cffi==1.17.1; extra == "dev"
Requires-Dist: charset-normalizer==3.4.2; extra == "dev"
Requires-Dist: click==8.3.0; extra == "dev"
Requires-Dist: coverage==7.13.4; extra == "dev"
Requires-Dist: cryptography==45.0.4; extra == "dev"
Requires-Dist: Deprecated==1.2.18; extra == "dev"
Requires-Dist: dill==0.4.0; extra == "dev"
Requires-Dist: docutils==0.21.2; extra == "dev"
Requires-Dist: flake8==7.3.0; extra == "dev"
Requires-Dist: id==1.5.0; extra == "dev"
Requires-Dist: idna==3.10; extra == "dev"
Requires-Dist: iniconfig==2.1.0; extra == "dev"
Requires-Dist: isort==6.0.1; extra == "dev"
Requires-Dist: jaraco.classes==3.4.0; extra == "dev"
Requires-Dist: jaraco.context==6.0.1; extra == "dev"
Requires-Dist: jaraco.functools==4.1.0; extra == "dev"
Requires-Dist: jeepney==0.9.0; extra == "dev"
Requires-Dist: keyring==25.6.0; extra == "dev"
Requires-Dist: librt==0.6.3; extra == "dev"
Requires-Dist: markdown-it-py==3.0.0; extra == "dev"
Requires-Dist: mccabe==0.7.0; extra == "dev"
Requires-Dist: mdurl==0.1.2; extra == "dev"
Requires-Dist: more-itertools==10.7.0; extra == "dev"
Requires-Dist: mypy==1.19.1; extra == "dev"
Requires-Dist: mypy_extensions==1.1.0; extra == "dev"
Requires-Dist: nh3==0.2.21; extra == "dev"
Requires-Dist: packaging==26.0; extra == "dev"
Requires-Dist: pathspec==0.12.1; extra == "dev"
Requires-Dist: pillow==12.1.1; extra == "dev"
Requires-Dist: pipx==1.8.0; extra == "dev"
Requires-Dist: platformdirs==4.3.8; extra == "dev"
Requires-Dist: pluggy==1.6.0; extra == "dev"
Requires-Dist: pycodestyle==2.14.0; extra == "dev"
Requires-Dist: pycparser==2.22; extra == "dev"
Requires-Dist: pyflakes==3.4.0; extra == "dev"
Requires-Dist: PyGithub==2.8.1; extra == "dev"
Requires-Dist: Pygments==2.19.1; extra == "dev"
Requires-Dist: pyjnius==1.6.1; extra == "dev"
Requires-Dist: PyJWT==2.10.1; extra == "dev"
Requires-Dist: pylint==4.0.4; extra == "dev"
Requires-Dist: PyNaCl==1.5.0; extra == "dev"
Requires-Dist: pytest==9.0.2; extra == "dev"
Requires-Dist: pytest-cov==7.0.0; extra == "dev"
Requires-Dist: pytest-django==4.11.1; extra == "dev"
Requires-Dist: python-gitlab==8.0.0; extra == "dev"
Requires-Dist: readme_renderer==44.0; extra == "dev"
Requires-Dist: requests==2.32.5; extra == "dev"
Requires-Dist: requests-toolbelt==1.0.0; extra == "dev"
Requires-Dist: rfc3986==2.0.0; extra == "dev"
Requires-Dist: rich==14.0.0; extra == "dev"
Requires-Dist: SecretStorage==3.3.3; extra == "dev"
Requires-Dist: setuptools==81.0.0; extra == "dev"
Requires-Dist: tomlkit==0.13.3; extra == "dev"
Requires-Dist: twine==6.2.0; extra == "dev"
Requires-Dist: types-Pillow==10.2.0.20240822; extra == "dev"
Requires-Dist: types-requests==2.32.4.20260107; extra == "dev"
Requires-Dist: types-setuptools==82.0.0.20260210; extra == "dev"
Requires-Dist: typing==3.7.4.3; extra == "dev"
Requires-Dist: typing_extensions==4.15.0; extra == "dev"
Requires-Dist: urllib3==2.4.0; extra == "dev"
Requires-Dist: userpath==1.9.2; extra == "dev"
Requires-Dist: wheel==0.46.3; extra == "dev"
Requires-Dist: wrapt==1.17.2; extra == "dev"
Requires-Dist: anybadge==1.16.0; extra == "dev"
Requires-Dist: flake8==7.3.0; extra == "dev"
Requires-Dist: mypy==1.19.1; extra == "dev"
Requires-Dist: pylint==4.0.4; extra == "dev"
Requires-Dist: pytest==9.0.2; extra == "dev"
Requires-Dist: pytest-cov==7.0.0; extra == "dev"
Requires-Dist: pytest-django==4.11.1; extra == "dev"
Requires-Dist: typing==3.7.4.3; extra == "dev"
Requires-Dist: types-setuptools==82.0.0.20260210; extra == "dev"
Provides-Extra: docs
Provides-Extra: tests
Requires-Dist: anybadge==1.16.0; extra == "tests"
Requires-Dist: flake8==7.3.0; extra == "tests"
Requires-Dist: mypy==1.19.1; extra == "tests"
Requires-Dist: pylint==4.0.4; extra == "tests"
Requires-Dist: pytest==9.0.2; extra == "tests"
Requires-Dist: pytest-cov==7.0.0; extra == "tests"
Requires-Dist: pytest-django==4.11.1; extra == "tests"
Requires-Dist: typing==3.7.4.3; extra == "tests"
Requires-Dist: types-setuptools==82.0.0.20260210; extra == "tests"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# project_manager command line tool

simplifies your programming workflow, in order to:

    * clone or fork projects from GitLab or GitHub
    * push bug fixes and new features of projects to GitLab or GitHub
    * request a MR (merge request) (or a PR (pull request) at GitHub)
    * publish packages to [PyPI](https://pypi.org) or [PyPI Test](https://test.pypi.org)
    * deploy Django apps to [PythonAnywhere](https://pythonanywhere.com)  
    * run resource checks (i18n, images, sounds)
    * run unit and integration tests (with coverage reports)
    * use templates to create and maintain code, resource and configuration files
    * bulk refresh/update of mulitple projects, e.g. your namespace portions projects (:pep:`420`)

for more detailed information see the
[manual](https://aedev.readthedocs.io/en/latest/man/project_manager.html "project manager manual").

the source code is available at [Gitlab](https://gitlab.com/aedev-group/aedev_project_manager)
maintained by the user group [aedev-group](https://gitlab.com/aedev-group).

this project is implemented in pure Python code and based on some portions of the
[__ae__ namespace(Application Environment)](https://ae.readthedocs.io "ae namespace portions on rtd").
