Metadata-Version: 2.1
Name: character-range
Version: 0.1.0
Summary: Generate character and byte ranges
Author-email: InSyncWithFoo <insyncwithfoo@gmail.com>
License: Unlicense
Project-URL: Homepage, https://github.com/InSyncWithFoo/character-range
Keywords: char,character,range,byte,byte range
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: The Unlicense (Unlicense)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typing-extensions ~=4.8.0
Provides-Extra: dev
Requires-Dist: build ~=1.0.3 ; extra == 'dev'
Requires-Dist: mypy ~=1.8.0 ; extra == 'dev'
Requires-Dist: pytest ~=7.4.3 ; extra == 'dev'
Requires-Dist: pytest-cov ~=4.1.0 ; extra == 'dev'
Requires-Dist: setuptools ~=69.0.2 ; extra == 'dev'
Requires-Dist: tox ~=4.11.4 ; extra == 'dev'
Requires-Dist: twine ~=4.0.2 ; extra == 'dev'
Provides-Extra: docs
Requires-Dist: sphinx ~=7.2.6 ; extra == 'docs'
Requires-Dist: furo ~=2023.9.10 ; extra == 'docs'

# Character range

![Tests][1]


This package does exactly what it says on the tin:
Create a string or bytes range.

```python
from character_range import ByteMap, character_range, CharacterMap


for element in character_range('aaa', 'aba', CharacterMap.ASCII_LOWERCASE):
    print(element)  # 'aaa', 'aab', ..., 'aay', 'aaz', 'aba'

for element in character_range(b'0', b'10', ByteMap.ASCII_LOWERCASE):
    print(element)  # b'0', b'1', ..., b'9', b'00', b'01', ..., b'09', b'10'
```

## Installation

```shell
$ pip install character-range
```


  [1]: https://github.com/InSyncWithFoo/character-range/actions/workflows/tests.yaml/badge.svg
