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.
- Symbolic format templates (
YYYYMMDD,YYMMDD,MM,MMDD, etc.) - Optional custom
strftimepatterns - 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
git clone git@github.com:Septimus4/Chronogen.git && cd Chronogen
pip install .For development extras (linting + tests):
pip install -e .[dev]pip install chronogenTo build the Docker image locally, run:
docker build -t chronogen:local .or pull the pre-built image :
docker pull ghcr.io/septimus4/chronogen:latestthen use it:
docker run ghcr.io/septimus4/chronogen:latest [ARGS]chronogen --start 1990 --end 1995 --format DDMMYY --separator "/" --prefix corp-Use chronogen --help or consult the CLI documentation for all options. The tool can also be executed with python -m chronogen (module execution) during development.
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.
See 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:
python -m buildThis project is distributed under the terms of the GNU General Public License v3.0. See LICENSE.