boa-str
Convert strings to snakecase
What it is and what it does
Boa is a lightweight string normalization library that converts arbitrary text into snake_case format. It handles common transformations like lowercasing, converting camelCase and PascalCase to snake_case, and stripping punctuation—useful for generating safe identifiers for file paths, database schema names, or table names from user-provided strings.
The package has no runtime dependencies and installs easily, but it has been unmaintained since 2017-07-10. While the core functionality is simple and unlikely to break, you should expect no updates, security patches, or support for Python versions beyond what was available at release time.
Use it for:
- Generate safe S3 file path names from user-defined event strings like 'User Buys Item' → 'user_buys_item'
- Convert camelCase column or table names to snake_case for database schemas in Redshift or similar systems
- Normalize user input strings into valid Python identifiers or configuration keys
- Transform event names or labels from UI text into standardized internal naming conventions
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Converts strings to snake_case by normalizing case, stripping punctuation, and handling camelCase or PascalCase inputs.
Yes, if you need simple snake_case conversion and can tolerate an unmaintained package. The core functionality is straightforward and unlikely to break, there are no known vulnerabilities, and it has no dependencies. However, do not use it if you require ongoing maintenance, support for recent Python versions, or security updates—consider a maintained alternative instead.
Install
boa-str on PyPI
pip
pip install boa-struv
uv add boa-strpoetry
poetry add boa-strInstalling boa-str
Before you install
Installation is straightforward with no runtime dependencies. However, the package has been abandoned since its latest release on 2017-07-10, so maintenance and security patches are not expected.
License in practice
Licensed under MIT License (permissive), so you can use, modify, and distribute it freely with minimal restrictions.
Quickstart
pip install boa-str
import boa
result = boa.constrict('Hello Boa')
print(result) # 'hello_boa'
Verify before relying
- Whether the package works reliably with Python versions released after 2017 (classifiers list only up to 3.6)
- Whether there are known edge cases or limitations in string normalization not covered in the examples
- Current compatibility with modern Python interpreters and environments
Package facts
| License | MIT License (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 3,322 days since the last release |
| First released | |
| Downloads | 2,793,679/month — #2,886 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: boa_str-1.1.0-py2.py3-none-any.whl
Keywords: boa, snakecase, snake_case, snake, case, inflector, astronomer, astronomerio
Tags
More Text Processing packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyparsingpyparsing provides a library for building text…
permissive · top 1,000 on PyPI
docutilsDocutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
RapidFuzzRapidFuzz provides fast fuzzy string matching…
permissive · top 1,000 on PyPI
tinycss2tinycss2 parses CSS strings into token and…
permissive · top 1,000 on PyPI
llama-parseLlamaParse parses complex documents (PDFs,…
permissive · top 1,000 on PyPI
case-converterConverts strings between different naming…
permissive · top 15,000 on PyPI
case-conversionConverts strings between any case format…
permissive · top 15,000 on PyPI
case-convertConverts strings between different case formats…
copyleft · top 15,000 on PyPI
pyhumpsConverts strings and dictionary keys between…
permissive · top 5,000 on PyPI
StrEnumStrEnum is a string-based enum class that…
permissive · top 1,000 on PyPI
stringcaseConverts strings between different naming…
permissive · top 5,000 on PyPI
pyheckConverts strings between case styles…
permissive · top 15,000 on PyPI
casefyCasefy converts strings between different…
permissive · top 5,000 on PyPI
textcaseConverts strings between different text case…
permissive · top 15,000 on PyPI
camel-converterConverts strings and dictionary keys between…
permissive · top 5,000 on PyPI