Metadata-Version: 2.4
Name: aedev_project_manager
Version: 0.3.27
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: coverage==7.14.1
Requires-Dist: flake8==7.3.0
Requires-Dist: mypy==2.1.0
Requires-Dist: packaging==26.2
Requires-Dist: pillow==12.2.0
Requires-Dist: types-Pillow==10.2.0.20240822
Requires-Dist: PyGithub==2.9.1
Requires-Dist: pylint==4.0.5
Requires-Dist: pytest==9.0.3
Requires-Dist: pytest-cov==7.1.0
Requires-Dist: python-gitlab==8.4.0
Requires-Dist: requests==2.34.2
Requires-Dist: requests-toolbelt==1.0.0
Requires-Dist: ae_base==0.3.85
Requires-Dist: ae_system==0.3.3
Requires-Dist: ae_files==0.3.27
Requires-Dist: ae_paths==0.3.44
Requires-Dist: ae_dynamicod==0.3.15
Requires-Dist: ae_literal==0.3.35
Requires-Dist: ae_updater==0.3.18
Requires-Dist: ae_core==0.3.86
Requires-Dist: ae_console==0.3.95
Requires-Dist: ae_shell==0.3.14
Requires-Dist: ae_managed_files==0.3.5
Requires-Dist: ae_pythonanywhere==0.3.5
Requires-Dist: aedev_base==0.3.7
Requires-Dist: aedev_commands==0.3.12
Requires-Dist: aedev_project_vars==0.3.14
Provides-Extra: dev
Requires-Dist: aedev_project_tpls==0.3.79; extra == "dev"
Requires-Dist: aedev_aedev==0.3.33; extra == "dev"
Requires-Dist: ae-parse-date==0.3.5; extra == "dev"
Requires-Dist: ae_app_log==0.3.2; extra == "dev"
Requires-Dist: ae_base==0.3.85; extra == "dev"
Requires-Dist: ae_console==0.3.95; extra == "dev"
Requires-Dist: ae_core==0.3.86; extra == "dev"
Requires-Dist: ae_deep==0.3.13; extra == "dev"
Requires-Dist: ae_dynamicod==0.3.15; extra == "dev"
Requires-Dist: ae_files==0.3.27; extra == "dev"
Requires-Dist: ae_literal==0.3.35; extra == "dev"
Requires-Dist: ae_managed_files==0.3.5; extra == "dev"
Requires-Dist: ae_paths==0.3.44; extra == "dev"
Requires-Dist: ae_pythonanywhere==0.3.5; extra == "dev"
Requires-Dist: ae_shell==0.3.14; extra == "dev"
Requires-Dist: ae_system==0.3.3; extra == "dev"
Requires-Dist: ae_updater==0.3.18; extra == "dev"
Requires-Dist: aedev_app_tpls==0.3.21; extra == "dev"
Requires-Dist: aedev_base==0.3.7; extra == "dev"
Requires-Dist: aedev_commands==0.3.12; extra == "dev"
Requires-Dist: aedev_namespace_root_tpls==0.3.31; extra == "dev"
Requires-Dist: aedev_project_manager==0.3.26; extra == "dev"
Requires-Dist: aedev_project_vars==0.3.14; extra == "dev"
Requires-Dist: anybadge==1.16.0; extra == "dev"
Requires-Dist: argcomplete==3.6.3; extra == "dev"
Requires-Dist: ast_serialize==0.3.0; 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.14.1; 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.11.0; 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==2.1.0; extra == "dev"
Requires-Dist: mypy_extensions==1.1.0; extra == "dev"
Requires-Dist: nh3==0.2.21; extra == "dev"
Requires-Dist: packaging==26.2; extra == "dev"
Requires-Dist: pathspec==1.0.4; extra == "dev"
Requires-Dist: pillow==12.2.0; extra == "dev"
Requires-Dist: pipx==1.13.0; extra == "dev"
Requires-Dist: platformdirs==4.3.8; extra == "dev"
Requires-Dist: pluggy==1.6.0; extra == "dev"
Requires-Dist: plyer==2.1.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.9.1; extra == "dev"
Requires-Dist: Pygments==2.19.1; extra == "dev"
Requires-Dist: pyjnius==1.7.0; extra == "dev"
Requires-Dist: PyJWT==2.10.1; extra == "dev"
Requires-Dist: pylint==4.0.5; extra == "dev"
Requires-Dist: pylint-django==2.7.0; extra == "dev"
Requires-Dist: pylint-plugin-utils==0.9.0; extra == "dev"
Requires-Dist: PyNaCl==1.5.0; extra == "dev"
Requires-Dist: pytest==9.0.3; extra == "dev"
Requires-Dist: pytest-cov==7.1.0; extra == "dev"
Requires-Dist: python-gitlab==8.4.0; extra == "dev"
Requires-Dist: readme_renderer==44.0; extra == "dev"
Requires-Dist: requests==2.34.2; 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==82.0.1; 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.33.0.20260518; extra == "dev"
Requires-Dist: types-setuptools==82.0.0.20260518; 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.47.0; 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==2.1.0; extra == "dev"
Requires-Dist: pylint==4.0.5; extra == "dev"
Requires-Dist: pytest==9.0.3; extra == "dev"
Requires-Dist: pytest-cov==7.1.0; extra == "dev"
Requires-Dist: typing==3.7.4.3; extra == "dev"
Requires-Dist: types-setuptools==82.0.0.20260518; 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==2.1.0; extra == "tests"
Requires-Dist: pylint==4.0.5; extra == "tests"
Requires-Dist: pytest==9.0.3; extra == "tests"
Requires-Dist: pytest-cov==7.1.0; extra == "tests"
Requires-Dist: typing==3.7.4.3; extra == "tests"
Requires-Dist: types-setuptools==82.0.0.20260518; 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

<!-- THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.aedev v0.3.33 -->
<!-- THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.namespace_root_tpls vlocal -->
# project_manager 0.3.27

[![GitLab develop](https://img.shields.io/gitlab/pipeline/aedev-group/aedev_project_manager/develop?logo=python)](
    https://gitlab.com/aedev-group/aedev_project_manager)
[![LatestPyPIrelease](
    https://img.shields.io/gitlab/pipeline/aedev-group/aedev_project_manager/release0.3.27?logo=python)](
    https://gitlab.com/aedev-group/aedev_project_manager/-/tree/release0.3.27)
[![PyPIVersions](https://img.shields.io/pypi/v/aedev_project_manager)](
    https://pypi.org/project/aedev-project_manager/#history)

>aedev namespace package portion project_manager: maintain Python projects locally and remotely.

[![Coverage](https://aedev-group.gitlab.io/aedev_project_manager/coverage.svg)](
    https://aedev-group.gitlab.io/aedev_project_manager/coverage/index.html)
[![MyPyPrecision](https://aedev-group.gitlab.io/aedev_project_manager/mypy.svg)](
    https://aedev-group.gitlab.io/aedev_project_manager/lineprecision.txt)
[![PyLintScore](https://aedev-group.gitlab.io/aedev_project_manager/pylint.svg)](
    https://aedev-group.gitlab.io/aedev_project_manager/pylint.log)

[![PyPIImplementation](https://img.shields.io/pypi/implementation/aedev_project_manager)](
    https://gitlab.com/aedev-group/aedev_project_manager/)
[![PyPIPyVersions](https://img.shields.io/pypi/pyversions/aedev_project_manager)](
    https://gitlab.com/aedev-group/aedev_project_manager/)
[![PyPIWheel](https://img.shields.io/pypi/wheel/aedev_project_manager)](
    https://gitlab.com/aedev-group/aedev_project_manager/)
[![PyPIFormat](https://img.shields.io/pypi/format/aedev_project_manager)](
    https://pypi.org/project/aedev-project_manager/)
[![PyPILicense](https://img.shields.io/pypi/l/aedev_project_manager)](
    https://gitlab.com/aedev-group/aedev_project_manager/-/blob/develop/LICENSE.md)
[![PyPIStatus](https://img.shields.io/pypi/status/aedev_project_manager)](
    https://libraries.io/pypi/aedev-project_manager)
[![PyPIDownloads](https://img.shields.io/pypi/dm/aedev_project_manager)](
    https://pypi.org/project/aedev-project_manager/#files)

## features

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`)


## installation

execute the following command to install the
aedev.project_manager package
in the currently active virtual environment:
 
```shell script
pip install aedev-project_manager
```

if you want to contribute to this portion then first fork
[the aedev_project_manager repository at GitLab](
https://gitlab.com/aedev-group/aedev_project_manager "aedev.project_manager code repository").
after that pull it to your machine and finally execute the
following command in the root folder of this repository
(aedev_project_manager):

```shell script
pip install --editable .[dev]
```

this command installs this package portion project
along with the necessary tools to modify the source code,
run unit tests, and build documentation. to install only
the dependencies required for a specific task,  replace
`dev` with one of the following:

    * `tests`: for contributing to the unit test suite
    * `docs`: for maintaining and building documentation

more detailed explanations on how to contribute to this project
[are available here](
https://gitlab.com/aedev-group/aedev_project_manager/-/blob/develop/CONTRIBUTING.rst)


## namespace portion documentation

the documentation of the source code of this portion is available at
[ReadTheDocs](
https://aedev.readthedocs.io/en/latest/_autosummary/aedev.project_manager.html
"aedev_project_manager documentation").

check also the
[manual](https://aedev.readthedocs.io/en/latest/man/project_manager.html "project manager manual")
for more detailed information on the usage of the project manager tool and their provided workflows.

the [source code](https://gitlab.com/aedev-group/aedev_project_manager "project manager source code")
is maintained by the user group [aedev-group](https://gitlab.com/aedev-group).

this project is implemented in pure Python code and based on portions of the two namespaces
[__ae__ (Application Environment)](https://ae.readthedocs.io "ae namespace") and
[__aedev__ (Development Packages and Tools)](https://ae.readthedocs.io "aedev namespace").

