fillenv


Namefillenv JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
SummaryFill .env templates by prompting for values and outputting KEY=value lines.
upload_time2025-11-02 12:34:15
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT
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"
}
        
Elapsed time: 4.96445s