Skip to main content

A string case conversion package.

Project description

Case Converter

pipline wheel coverage license

A robust python package for transforming string cases such as Hello, world! into helloWorld (camelcase).

General usage

from caseconverter import camelcase

camelcase("Hello, world!") # output: helloWorld

Delimeter behavior

If multiple delimeter characters are identified next to eachother they will be considered as a single delimeter. For example, -_ contains 2 different delimeter characters and is considered a single delimeter.

Available conversions

camelcase

from caseconverter import camelcase

camelcase("Hello, world!")
helloWorld

cobolcase

from caseconverter import cobolcase

cobolcase("Hello, world!")
HELLO-WORLD

flatcase

from caseconverter import flatcase

flatcase("Hello, world!")
helloworld

kebabcase

from caseconverter import kebabcase

kebabcase("Hello, world!")
hello-world

macrocase

from caseconverter import macrocase

macrocase("Hello, world!")
HELLO_WORLD

Additional options

delims_only : bool - Only consider delimiters as boundaries (default: False).

pascalcase

from caseconverter import pascalcase

pascalcase("Hello, world!")
HelloWorld

snakecase

from caseconverter import snakecase

snakecase("Hello, world!")
hello_world

Options for all conversions

Stripping punctuation

Punctuation is stripped when doing a case conversion. However, should you wish to keep the punctuation you can do so by passing strip_punctuation=False.

camelcase("Hello, world!", strip_punctuation=False) # output: hello,World!

Delimeter customization

Default delimiters used to denote a token boundary.

DELIMITERS = " -_"

You can pass delims to each case conversion function to specify a custom set of delimiters.

# Use a pipe `|` as the only delimiter.
camelcase("Hello,|world!", delims="|") # output: helloWorld

Boundaries definitions

Name Description
OnDelimeterUppercaseNext On a delimieter, upper case the following character
OnDelimeterLowercaseNext On a delimeter, lower case the following character
OnUpperPrecededByLowerAppendUpper On an upper case character followed by a lower case character, append the upper case character
OnUpperPrecededByLowerAppendLower On an upper case character preceeded by a lower case character append the lower case character
OnUpperPrecededByUpperAppendJoin On an upper case caharacter preceeded by an upper append the join character. Join characters are context dependent. Example: macro cast join character is _
OnUpperPrecededByUpperAppendCurrent On an upper case character preceeded by an upper case character append the upper case character

Contributing

  1. Write clean code.
  2. Write new tests for new use-cases.
  3. Test your code before raising a PR.
  4. Use black to format your code.

Reference

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

case-convertor-1.1.2.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

case_convertor-1.1.2-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file case-convertor-1.1.2.tar.gz.

File metadata

  • Download URL: case-convertor-1.1.2.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for case-convertor-1.1.2.tar.gz
Algorithm Hash digest
SHA256 97c44072e1080622785ea3726d0cf4079e35ecc1cf7dda693aaae5923e058e04
MD5 0f65a82a949bf0689426d7661a21601a
BLAKE2b-256 1799cb4bce616ea844ff300e3e68d766a8d48d162b7325b2e708bde09c0c904a

See more details on using hashes here.

File details

Details for the file case_convertor-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: case_convertor-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for case_convertor-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 54a6b4d72600e0e39b94c87d24baa7159937d29c490b5086e3b151d88922c0f2
MD5 36745ec1efcbd99ba6e4c56001917ea4
BLAKE2b-256 f519de37729844b005db9f7e8451d8e3b0848a942b20aa3ad959374a859b701b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page