Skip to main content
Nomenclator logo

GAN: The Great Automatic Nomenclator

The Next Million Names for Archaea and Bacteria, and the nomenclator Python package

Principle

To generate a large number of new names, we apply a combinatorial approach starting with two or three sets of curated roots, that are processed to produce all their possible combinations while keeping trace of their grammatical metadata to draft a valid etymology.

Gan flowchart

Installation

GAN is available on PyPI as gan-nomenclature and installs with Python 3.8+:

pip install gan-nomenclature

This command installs the library together with its dependencies (pandas, openpyxl, ...).

To work in an isolated environment, you can create one with conda and then install the package from PyPI:

conda create -c conda-forge -n gan python=3.10 pandas pip ipython
conda activate gan
pip install gan-nomenclature

Command-line tools

Installing the package provides a small suite of CLI helpers:

  • gan-genus: generate JSON/HTML/LaTeX outputs from two or three curated root tables.
  • gan-validate: validate the input Excel files for correct format and content.
  • gan-init: scaffold Excel templates (optionally populated with example rows) for use with gan-genus.
  • gan-aidraft: generate draft etymologies using OpenRouter-hosted LLMs starting from a text file used as context (e.g. a draft of a paper describing the biome where the new taxa were isolated).
  • xls2tsv: convert each worksheet of a workbook into a separate TSV file.
  • tsv2xls: convert TSV files back into Excel format.

Each command offers --help for additional options and usage examples.

Genera generator

A set of two (or three) Excel tables formatted as shown below is used to generate the list of combinations in JSON, HTML and LaTeX format.

Excel input format

Synopsis:

usage: gan-genus [-h] -1 FIRST -2 SECOND [-3 THIRD] -o OUTDIR [-p PREFIX] [-c CONNECTOR] [-v]

For full usage and installation instructions, please check the documentation.

Example output

Using three small files in the input_test directory (8, 11 and 8 words, respectively), GAN produced 968 (8 x 11 x 8)combinations:

Etymology

"The great automatic nomenclaturer" is a reference to a short story ("The Great Automatic Grammatizator") written by the British author Roald Dahl [link].

Citation

Mark J. Pallen et al. The Next Million Names for Archaea and Bacteria, Trends in Microbiology (2020). DOI: 10.1016/j.tim.2020.10.009

Metadata

Release files for nomenclator 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nomenclator 1.2.0
File Size Uploaded Provenance
nomenclator-1.2.0.tar.gz 64.4 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for nomenclator 1.2.0
File Interpreter ABI Platform
nomenclator-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 112.5 kB

Release files / nomenclator-1.2.0.tar.gz

Download URL nomenclator-1.2.0.tar.gz
Size 64.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4fe7677f734114062e21ab2c83e3d88664800109e351a99ad4768c75fa9992a7
BLAKE2b-256 checksum
How to use checksums
9390a05a48ad49285947a6c197e08b3af25a7af2e7980625c15295cf0f237ea8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 28, 2025.

Transparency log

Release files / nomenclator-1.2.0-py3-none-any.whl

Download URL nomenclator-1.2.0-py3-none-any.whl
Size 48.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8c56086e680f58aa7cd3d8ded2afdc8be274a199aa160143891d823e9ec2c9fc
BLAKE2b-256 checksum
How to use checksums
10c83e6be5e73a9cfea5aeb8d2a11bc5a959e27519da6f4b2ca5e1c3d0537dfb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 28, 2025.

Transparency log

Security for nomenclator 1.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for nomenclator-1.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 28, 2025.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page