# reqgenz
```bash
usage: reqgenz.py [-h] [--output_directory OUTPUT_DIRECTORY] [--env-name ENV_NAME] [--list-envs] [--no-env] [--project-name PROJECT_NAME] [--project-description PROJECT_DESCRIPTION]
[--project-author PROJECT_AUTHOR] [--pin PIN] [--skip-install] [--merge-requirements] [--dev] [--pipfile] [--verbose] [--bump {major,minor,patch}] [--log-file LOG_FILE]
[--dockerfile] [--visualize-graph] [--main-script MAIN_SCRIPT] [--package-manager {uv,poetry,pip}] [--python-env-version PYTHON_ENV_VERSION [PYTHON_ENV_VERSION ...]]
[--activate-env ACTIVATE_ENV] [--deactivate-env DEACTIVATE_ENV] [--create-reqs-file] [--create-pyproject]
source_directory
Requirements Generator Tool: Manage requirements, versioning, and virtual environments for Python projects.
positional arguments:
source_directory Directory to recursively search for Python files and generate requirements from imports.
optional arguments:
-h, --help show this help message and exit
--output_directory OUTPUT_DIRECTORY
Directory to save generated files.
--env-name ENV_NAME Specify the name of the virtual environment to create (default: 'env').
--list-envs List all virtual environments.
--no-env Skip creating a virtual environment and install dependencies in the global Python environment.
--project-name PROJECT_NAME
Set the project name for pyproject.toml (default: 'auto_generated_project').
--project-description PROJECT_DESCRIPTION
Set the project description for pyproject.toml (default: 'A project generated by RequirementsGenerator').
--project-author PROJECT_AUTHOR
Set the project author for pyproject.toml (default: 'Your Name <you@example.com>').
--pin PIN Pin a dependency to a specific version. Usage: --pin package==version. Can be used multiple times.
--skip-install Skip the installation of dependencies after generating requirements.
--merge-requirements Merge newly detected dependencies into an existing requirements.txt file, instead of overwriting it.
--dev Include development dependencies (like pytest, black) in pyproject.toml.
--pipfile Generate a Pipfile for pipenv users (in addition to requirements.txt and pyproject.toml).
--verbose Enable verbose logging for detailed output during the execution.
--bump {major,minor,patch}
Bump the version in pyproject.toml:
major: Increment the major version (e.g., 1.0.0 -> 2.0.0)
minor: Increment the minor version (e.g., 1.1.0 -> 1.2.0)
patch: Increment the patch version (e.g., 1.1.1 -> 1.1.2)
--log-file LOG_FILE Specify a log file to save logs.
--dockerfile Generate a Dockerfile for the project.
--visualize-graph Visualize the dependency graph.
--main-script MAIN_SCRIPT
Specify the main script to run in the Docker container (default: 'your_script.py').
--package-manager {uv,poetry,pip}
Specify the package manager to use (default: 'pip').
--python-env-version PYTHON_ENV_VERSION [PYTHON_ENV_VERSION ...]
Specify the Python versions to use for the virtual environments (default: 'python3').
--activate-env ACTIVATE_ENV
Activate a specific virtual environment by specifying the env path.
--deactivate-env DEACTIVATE_ENV
Deactivate virtual environment.
--create-reqs-file Create a requirements.txt file.
--create-pyproject Create a pyproject.toml file.
```
## installation
```bash
curl -sSf https://raw.githubusercontent.com/webcoderz/reqgenz/main/install.sh | bash
```
or
```bash
git clone https://github.com/webcoderz/reqgenz.git
cd reqgenz
python3 reqgenz/src/reqgenz.py
```
or
```bash
pip install reqgenz
```
## how to use
this script utilizes python standard library and does not require any additional dependencies, any additional dependencies are installed depending on the options you choose. (uv,poetry,matplotlib,networkx)
Raw data
{
"_id": null,
"home_page": "https://github.com/webcoderz/reqgenz",
"name": "reqgenz",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "packaging, dependency, poetry, uv, pip",
"author": "Cody Webb",
"author_email": "cody.l.webb@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/bd/a7/014704733d1653086579f8948c19c5185697fe52ae7a895f3be2cbe25b9a/reqgenz-0.1.6.tar.gz",
"platform": null,
"description": "# reqgenz\n\n```bash\nusage: reqgenz.py [-h] [--output_directory OUTPUT_DIRECTORY] [--env-name ENV_NAME] [--list-envs] [--no-env] [--project-name PROJECT_NAME] [--project-description PROJECT_DESCRIPTION]\n [--project-author PROJECT_AUTHOR] [--pin PIN] [--skip-install] [--merge-requirements] [--dev] [--pipfile] [--verbose] [--bump {major,minor,patch}] [--log-file LOG_FILE]\n [--dockerfile] [--visualize-graph] [--main-script MAIN_SCRIPT] [--package-manager {uv,poetry,pip}] [--python-env-version PYTHON_ENV_VERSION [PYTHON_ENV_VERSION ...]]\n [--activate-env ACTIVATE_ENV] [--deactivate-env DEACTIVATE_ENV] [--create-reqs-file] [--create-pyproject]\n source_directory\n\nRequirements Generator Tool: Manage requirements, versioning, and virtual environments for Python projects.\n\npositional arguments:\n source_directory Directory to recursively search for Python files and generate requirements from imports.\n\noptional arguments:\n -h, --help show this help message and exit\n --output_directory OUTPUT_DIRECTORY\n Directory to save generated files.\n --env-name ENV_NAME Specify the name of the virtual environment to create (default: 'env').\n --list-envs List all virtual environments.\n --no-env Skip creating a virtual environment and install dependencies in the global Python environment.\n --project-name PROJECT_NAME\n Set the project name for pyproject.toml (default: 'auto_generated_project').\n --project-description PROJECT_DESCRIPTION\n Set the project description for pyproject.toml (default: 'A project generated by RequirementsGenerator').\n --project-author PROJECT_AUTHOR\n Set the project author for pyproject.toml (default: 'Your Name <you@example.com>').\n --pin PIN Pin a dependency to a specific version. Usage: --pin package==version. Can be used multiple times.\n --skip-install Skip the installation of dependencies after generating requirements.\n --merge-requirements Merge newly detected dependencies into an existing requirements.txt file, instead of overwriting it.\n --dev Include development dependencies (like pytest, black) in pyproject.toml.\n --pipfile Generate a Pipfile for pipenv users (in addition to requirements.txt and pyproject.toml).\n --verbose Enable verbose logging for detailed output during the execution.\n --bump {major,minor,patch}\n Bump the version in pyproject.toml:\n major: Increment the major version (e.g., 1.0.0 -> 2.0.0)\n minor: Increment the minor version (e.g., 1.1.0 -> 1.2.0)\n patch: Increment the patch version (e.g., 1.1.1 -> 1.1.2)\n --log-file LOG_FILE Specify a log file to save logs.\n --dockerfile Generate a Dockerfile for the project.\n --visualize-graph Visualize the dependency graph.\n --main-script MAIN_SCRIPT\n Specify the main script to run in the Docker container (default: 'your_script.py').\n --package-manager {uv,poetry,pip}\n Specify the package manager to use (default: 'pip').\n --python-env-version PYTHON_ENV_VERSION [PYTHON_ENV_VERSION ...]\n Specify the Python versions to use for the virtual environments (default: 'python3').\n --activate-env ACTIVATE_ENV\n Activate a specific virtual environment by specifying the env path.\n --deactivate-env DEACTIVATE_ENV\n Deactivate virtual environment.\n --create-reqs-file Create a requirements.txt file.\n --create-pyproject Create a pyproject.toml file.\n```\n\n\n## installation\n```bash\ncurl -sSf https://raw.githubusercontent.com/webcoderz/reqgenz/main/install.sh | bash\n```\nor\n```bash\ngit clone https://github.com/webcoderz/reqgenz.git\ncd reqgenz\npython3 reqgenz/src/reqgenz.py\n```\nor\n```bash\npip install reqgenz\n```\n\n## how to use\nthis script utilizes python standard library and does not require any additional dependencies, any additional dependencies are installed depending on the options you choose. (uv,poetry,matplotlib,networkx)\n",
"bugtrack_url": null,
"license": null,
"summary": "Requirements Generator Tool: Manage requirements, versioning, and virtual environments for Python projects.",
"version": "0.1.6",
"project_urls": {
"Homepage": "https://github.com/webcoderz/reqgenz",
"Repository": "https://github.com/webcoderz/reqgenz"
},
"split_keywords": [
"packaging",
" dependency",
" poetry",
" uv",
" pip"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "98c9c53502bee6777b3283760a996a012d9f2eb4c299b7d7c107d3c57a792ac2",
"md5": "46821038ae4205e1b1c629cc451fe938",
"sha256": "dc6be6c9759e23e5c9ed86dc35ef3fc1c16372ab9d3a0a42a3e8c240782cbce7"
},
"downloads": -1,
"filename": "reqgenz-0.1.6-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "46821038ae4205e1b1c629cc451fe938",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 17326,
"upload_time": "2024-09-18T19:15:35",
"upload_time_iso_8601": "2024-09-18T19:15:35.887014Z",
"url": "https://files.pythonhosted.org/packages/98/c9/c53502bee6777b3283760a996a012d9f2eb4c299b7d7c107d3c57a792ac2/reqgenz-0.1.6-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bda7014704733d1653086579f8948c19c5185697fe52ae7a895f3be2cbe25b9a",
"md5": "a1c4efe0adb5e200a7956aa06ce236d4",
"sha256": "18ff3e14413f80f7e998cfe29392b63db9f5261ff5d7def84ef98721ee263496"
},
"downloads": -1,
"filename": "reqgenz-0.1.6.tar.gz",
"has_sig": false,
"md5_digest": "a1c4efe0adb5e200a7956aa06ce236d4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16662,
"upload_time": "2024-09-18T19:15:36",
"upload_time_iso_8601": "2024-09-18T19:15:36.821360Z",
"url": "https://files.pythonhosted.org/packages/bd/a7/014704733d1653086579f8948c19c5185697fe52ae7a895f3be2cbe25b9a/reqgenz-0.1.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-18 19:15:36",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "webcoderz",
"github_project": "reqgenz",
"github_not_found": true,
"lcname": "reqgenz"
}