| Name | fillenv JSON |
| Version |
1.0.0
JSON |
| download |
| home_page | None |
| Summary | Fill .env templates by prompting for values and outputting KEY=value lines. |
| upload_time | 2025-11-02 12:34:15 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | >=3.9 |
| license | MIT |
| keywords |
cli
configuration
dotenv
env
template
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# fillenv
Minimal Python project managed with `uv`.
## Setup
```bash
# Create and sync environment (uses uv.lock/pyproject.toml)
uv sync
# Run a Python REPL using the environment
uv run python -V
```
## Make commands
```bash
# Create and sync environment with dev/test extras
make setup
# Format code (ruff formatter)
make format
# Lint code (ruff lint)
make lint
# Run tests (pytest)
make test
```
## Usage
Fill variables from a template and write KEY=value lines to a file:
```bash
# Install from PyPI
pip install fillenv
# Use the installed CLI (writes to .env or .env1, .env2, ...)
fillenv .env.template
# Or rely on default template path (".env.template" in CWD)
fillenv
# Alternatively via python -m
uv run python -m fillenv .env.template
# Or rely on default template path (".env.template" in CWD)
uv run python -m fillenv
# Specify output file (default: .env)
fillenv --output .env.production
# Overwrite existing output file
fillenv --overwrite
# Combine options
fillenv .env.template --output .env.local --overwrite
```
You can also import and call `fillenv.cli.run(argv)` from Python code.
## Project layout
```
.
├── pyproject.toml
├── README.md
├── Makefile # common tasks: setup, format, lint, test
├── src/
│ └── fillenv/
│ ├── __init__.py
│ ├── __main__.py
│ ├── cli.py # entrypoint and command handling
│ ├── constants.py # shared constants
│ ├── parser.py # parse template into variables and prompts
│ ├── prompt.py # interactive prompting utilities
│ └── serialize.py # serialize variables to KEY=value lines
└── tests/...
```
## Releasing
Update the version in `pyproject.toml`.
Create a build and upload to PyPI:
```bash
# Build (requires uv)
uv build
# Upload (requires twine and a configured token)
twine upload dist/*
```
Issues and releases:
- Issues: https://github.com/elmernocon/fillenv/issues
- Releases/Changelog: https://github.com/elmernocon/fillenv/releases
Raw data
{
"_id": null,
"home_page": null,
"name": "fillenv",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "cli, configuration, dotenv, env, template",
"author": null,
"author_email": "Elmer Nocon <elmernocon@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/99/73/0539bc9d78b7f327eaf6383488179c92cbe1be85ac18e971fd87ab0102d4/fillenv-1.0.0.tar.gz",
"platform": null,
"description": "# fillenv\n\nMinimal Python project managed with `uv`.\n\n## Setup\n\n```bash\n# Create and sync environment (uses uv.lock/pyproject.toml)\nuv sync\n\n# Run a Python REPL using the environment\nuv run python -V\n```\n\n## Make commands\n\n```bash\n# Create and sync environment with dev/test extras\nmake setup\n\n# Format code (ruff formatter)\nmake format\n\n# Lint code (ruff lint)\nmake lint\n\n# Run tests (pytest)\nmake test\n```\n\n## Usage\n\nFill variables from a template and write KEY=value lines to a file:\n\n```bash\n# Install from PyPI\npip install fillenv\n\n# Use the installed CLI (writes to .env or .env1, .env2, ...)\nfillenv .env.template\n# Or rely on default template path (\".env.template\" in CWD)\nfillenv\n\n# Alternatively via python -m\nuv run python -m fillenv .env.template\n# Or rely on default template path (\".env.template\" in CWD)\nuv run python -m fillenv\n\n# Specify output file (default: .env)\nfillenv --output .env.production\n\n# Overwrite existing output file\nfillenv --overwrite\n\n# Combine options\nfillenv .env.template --output .env.local --overwrite\n```\n\nYou can also import and call `fillenv.cli.run(argv)` from Python code.\n\n## Project layout\n\n```\n.\n\u251c\u2500\u2500 pyproject.toml\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 Makefile # common tasks: setup, format, lint, test\n\u251c\u2500\u2500 src/\n\u2502 \u2514\u2500\u2500 fillenv/\n\u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u251c\u2500\u2500 __main__.py\n\u2502 \u251c\u2500\u2500 cli.py # entrypoint and command handling\n\u2502 \u251c\u2500\u2500 constants.py # shared constants\n\u2502 \u251c\u2500\u2500 parser.py # parse template into variables and prompts\n\u2502 \u251c\u2500\u2500 prompt.py # interactive prompting utilities\n\u2502 \u2514\u2500\u2500 serialize.py # serialize variables to KEY=value lines\n\u2514\u2500\u2500 tests/...\n```\n\n## Releasing\n\nUpdate the version in `pyproject.toml`.\n\nCreate a build and upload to PyPI:\n\n```bash\n# Build (requires uv)\nuv build\n\n# Upload (requires twine and a configured token)\ntwine upload dist/*\n```\n\nIssues and releases:\n\n- Issues: https://github.com/elmernocon/fillenv/issues\n- Releases/Changelog: https://github.com/elmernocon/fillenv/releases\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Fill .env templates by prompting for values and outputting KEY=value lines.",
"version": "1.0.0",
"project_urls": {
"Changelog": "https://github.com/elmernocon/fillenv/releases",
"Homepage": "https://github.com/elmernocon/fillenv",
"Issues": "https://github.com/elmernocon/fillenv/issues",
"Repository": "https://github.com/elmernocon/fillenv"
},
"split_keywords": [
"cli",
" configuration",
" dotenv",
" env",
" template"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "95e297aca7938c00520587b54e36af613ec8db80e6bf0fe07f7c9c16d987679c",
"md5": "a1aaef015a3e572b1637f04b0fd53016",
"sha256": "e57cd7113e6c91afae9df531b73da7245de7c4c3ea5f22e4f2a1293472d54c16"
},
"downloads": -1,
"filename": "fillenv-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a1aaef015a3e572b1637f04b0fd53016",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 7366,
"upload_time": "2025-11-02T12:34:14",
"upload_time_iso_8601": "2025-11-02T12:34:14.413903Z",
"url": "https://files.pythonhosted.org/packages/95/e2/97aca7938c00520587b54e36af613ec8db80e6bf0fe07f7c9c16d987679c/fillenv-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "99730539bc9d78b7f327eaf6383488179c92cbe1be85ac18e971fd87ab0102d4",
"md5": "6a705c56aa237c2d53d98a939d3deb97",
"sha256": "c1e465e960140ac5a11aeb7ef327f05df2f2d93e154c3a1aade9309c614fbd4e"
},
"downloads": -1,
"filename": "fillenv-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "6a705c56aa237c2d53d98a939d3deb97",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 47965,
"upload_time": "2025-11-02T12:34:15",
"upload_time_iso_8601": "2025-11-02T12:34:15.823232Z",
"url": "https://files.pythonhosted.org/packages/99/73/0539bc9d78b7f327eaf6383488179c92cbe1be85ac18e971fd87ab0102d4/fillenv-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-11-02 12:34:15",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "elmernocon",
"github_project": "fillenv",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "fillenv"
}