syntactic
Make syntactically valid names out of strings.
Installation
uv method
This is a Python package hosted on PyPI as acidgenomics-syntactic.
The import name is unchanged: syntactic.
We recommend using uv to install.
uv add acidgenomics-syntactic
Or with pip:
pip install acidgenomics-syntactic
Conda method
Configure Conda to use the Bioconda channels.
# Don't install recipe into base environment.
name='syntactic'
conda create --name="$name" "$name"
conda activate "$name"
python -c 'import syntactic'
Usage
from syntactic import (
camel_case,
snake_case,
kebab_case,
dotted_case,
upper_camel_case,
make_names,
make_words,
make_title,
make_label,
capitalize,
sentence_case,
autopad_zeros,
syntactic_rename,
)
# Case conversion
snake_case(["human genomeVersion", "sampleID"])
# ['human_genome_version', 'sample_id']
camel_case(["human_genome_version", "sample_id"])
# ['humanGenomeVersion', 'sampleId']
upper_camel_case(["human_genome_version", "sample_id"])
# ['HumanGenomeVersion', 'SampleId']
kebab_case(["human genomeVersion", "sampleID"])
# ['human-genome-version', 'sample-id']
dotted_case(["human genomeVersion", "sampleID"])
# ['human.genome.version', 'sample.id']
# Make syntactically valid names
make_names(["%GC", "1st sample", "hello world"])
# ['GC', 'X1st_sample', 'hello_world']
# Human-readable conversions
make_words(["nGene", "log10GenesPerUMI"])
# ['n gene', 'log10 genes per UMI']
make_title(["nGene", "log10GenesPerUMI"])
# ['N gene', 'Log10 genes per UMI']
# Zero padding
autopad_zeros([1, 10, 100])
# ['001', '010', '100']
# File renaming
syntactic_rename("/path/to/dir", fun="snake_case")
Function Reference
| Python Function | R Equivalent | Description |
|---|---|---|
camel_case |
camelCase |
Convert to lowerCamelCase |
upper_camel_case |
upperCamelCase |
Convert to UpperCamelCase |
snake_case |
snakeCase |
Convert to snake_case |
kebab_case |
kebabCase |
Convert to kebab-case |
dotted_case |
dottedCase |
Convert to dotted.case |
make_names |
makeNames |
Make syntactically valid names |
make_dimnames |
makeDimnames |
Apply make_names to name vectors |
make_words |
makeWords |
Convert to human-readable words |
make_title |
makeTitle |
Convert to title case |
make_label |
makeLabel |
Convert to label (sentence) case |
capitalize |
capitalize |
Capitalize first letter per word |
sentence_case |
sentenceCase |
Convert to sentence case |
autopad_zeros |
autopadZeros |
Zero-pad integers/strings |
syntactic_rename |
syntacticRename |
Rename files with syntactic naming |
License
Apache-2.0 — Copyright 2026 Acid Genomics LLC — see LICENSE.
Release files for acidgenomics-syntactic 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| acidgenomics_syntactic-0.1.1.tar.gz | 16.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| acidgenomics_syntactic-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.5 kB
Release files / acidgenomics_syntactic-0.1.1.tar.gz
| Download URL | acidgenomics_syntactic-0.1.1.tar.gz |
|---|---|
| Size | 16.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fed1ac2fe4bf1f2b73147799aba8ef6ca81462fc6160f01e01ad3ea42e3fcd35
|
|
BLAKE2b-256 checksum How to use checksums |
7af83c0a5092f4016aba647196143ff15c0d788f6fe78eb5593606150bbf0232
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / acidgenomics_syntactic-0.1.1-py3-none-any.whl
| Download URL | acidgenomics_syntactic-0.1.1-py3-none-any.whl |
|---|---|
| Size | 18.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
60fa1fcbcf26f1abe9a2994eba0d2dd1090d887a85687b964daf2ecdbc53fe8d
|
|
BLAKE2b-256 checksum How to use checksums |
5bcd5cd4d95ecf265465c466d1b50852864ed8a64e278f200afec920c4aaf3ed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|