Skip to main content

syntactic

Install with Bioconda Lifecycle: maturing

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)

Source distribution for acidgenomics-syntactic 0.1.1
File Size Uploaded
acidgenomics_syntactic-0.1.1.tar.gz 16.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for acidgenomics-syntactic 0.1.1
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

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