Skip to main content

A simple library to support various naming conventions and convert strings from one to another

Project description

Casey

PyPI PyPI - Python Version Codecov GitHub FOSSA Status

A simple library to support various naming conventions and convert strings from one to another.

Casey supports:

  • camelCase
  • PascalCase
  • kebab-case
  • snake_case and SNAKE_CASE

Usage

Installation

pip install casey

Sample

import casey

subject = "every 1 WORD is very IMPORTANT"

print(casey.camel(subject))
# Prints: every1WORDIsVeryIMPORTANT

print(casey.kebab(subject))
# Prints: every-1-WORD-is-very-IMPORTANT

print(casey.pascal(subject))
# Prints: Every1WORDIsVeryIMPORTANT

print(casey.snake(subject))
# Prints: every_1_WORD_is_very_IMPORTANT

print(casey.snake(subject, upper=True))
# Prints: EVERY_1_WORD_IS_VERY_IMPORTANT

def my_transformation(word: str, idx: int) -> str:
  if idx % 2 == 0:
    return word.lower()
  else:
    return word.upper()
  
print(casey.transform(subject, my_transformation, "_"))
# Prints: every_1_word_IS_very_IMPORTANT

API

  • clean(subject: str) -> str: ...

    Returns string with removed cases.

  • camel(subject: str) -> str: ...

    Returns string in camelCase.

  • pascal(subject: str) -> str: ...

    Returns string in PascalCase.

  • kebab(subject: str) -> str: ...

    Returns string in kebab-case.

  • snake(subject: str) -> str: ...

    Returns string in snake_case.

  • snake(subject: str, upper=False) -> str: ...

    Returns string in snake_case.

    If upper is True, it will convert whole subject to upper snake case.

  • upper_first(subject: str) -> str: ...

    Returns string with upper first letter (A-Z).

  • lower_first(subject: str) -> str: ...

    Returns string with lower first letter (A-Z).

  • transform(subject: str, transformation: Callable, glue=" ") -> str: ...

    Returns string transformed by the transformation function. The transformation function accepts 2 parameters: current word index (int), and a word itself (str). Glue is the string used to concat transformed words into one string.

License

This project is licensed under Apache-2.0 License - see the LICENSE file for details.

FOSSA Status

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

casey-1.2.0.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

casey-1.2.0-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file casey-1.2.0.tar.gz.

File metadata

  • Download URL: casey-1.2.0.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.11 CPython/3.8.10 Linux/5.11.0-40-generic

File hashes

Hashes for casey-1.2.0.tar.gz
Algorithm Hash digest
SHA256 216dd5fd74988c6037a7ea5ba45220a64c29b6bd8686e9355f009e589daa2097
MD5 fd4d490ac5e2fee84acb188f001084f9
BLAKE2b-256 25d680aef41db435f335b556ec6816ab24e66af7e0a65fed7d0271205e581c29

See more details on using hashes here.

File details

Details for the file casey-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: casey-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 7.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.11 CPython/3.8.10 Linux/5.11.0-40-generic

File hashes

Hashes for casey-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 df341a87b3766c627d4ead1843ef516a8267b8d55d6a2704db0185ef48c91b55
MD5 772dd2fdcadc1493559784cef12c41ae
BLAKE2b-256 cc8df56512afa02ad85aca65ce0bc6826268b782a8995b4fe539352b83a1c683

See more details on using hashes here.

Supported by

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