Metadata-Version: 2.4
Name: chronogen
Version: 1.0.0
Summary: Generate customizable date wordlists.
Author: William Le Roux
License-Expression: LGPL-3.0-only
Project-URL: Homepage, https://github.com/Septimus4/Chronogen
Project-URL: Documentation, https://github.com/Septimus4/Chronogen/tree/main/docs
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Intended Audience :: Information Technology
Classifier: Topic :: Security
Classifier: Topic :: Utilities
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: dev
Requires-Dist: pytest>=7.4; extra == "dev"
Requires-Dist: pytest-cov>=4.1; extra == "dev"
Requires-Dist: ruff>=0.5.0; extra == "dev"
Requires-Dist: build>=1.2.2; extra == "dev"
Dynamic: license-file

# Chronogen

Chronogen creates date-based wordlists that can be used for penetration testing, QA fixtures, or any workflow that needs exhaustive date coverage. The project now ships as a Python package with a modern command line interface and documentation.

## Features

- Symbolic format templates (`YYYYMMDD`, `YYMMDD`, `MM`, `MMDD`, etc.)
- Optional custom `strftime` patterns
- Prefix, suffix, casing, and separator controls
- Month/day filtering, leap-day aware
- Reverse chronological generation for targeting the latest dates first
- CLI, `python -m chronogen`, or importable library

## Installation

```bash
pip install .
```

For development extras (linting + tests):

```bash
pip install -e .[dev]
```

## Command line usage

```bash
chronogen --start 1990 --end 1995 --format DDMMYY --separator "/" --prefix corp-
```

Use `chronogen --help` or consult the [CLI documentation](docs/cli.md) for all options. The tool can also be executed with `python -m chronogen` (module execution) during development.

## Library usage

```python
from chronogen import DateGenerator

generator = DateGenerator(start_year=2020, end_year=2021, format="YYYYMMDD", separator="-")
for value in generator.generate():
    print(value)
```

More examples are available in the [library guide](docs/library.md).

## Development

See [docs/development.md](docs/development.md) for linting, testing, and release workflows. Continuous integration is provided through GitHub Actions and enforces lint + coverage on pull requests.

To build distributable archives locally, install the optional dev dependencies and run:

```bash
python -m build
```

## License

This project is distributed under the terms of the GNU General Public License v3.0. See [LICENSE](LICENSE).
