jlsneto/cereja

Zero-dependency Python utilities for files, text, data processing, system tasks and developer workflows.

★ 0Forks 0GitHub ↗Compare

README

Cereja

Python package PyPI version Downloads License: MIT

Cereja is a Python utility package for developers who want reusable helpers for files, paths, progress display, compression, hashing, text processing, data preparation, arrays, dates, and small system tasks.

The package is published on PyPI and supports Python 3.11 and newer.

Design principles

  • Zero runtime dependencies
  • Standard-library-first implementations
  • Small, reusable and composable APIs
  • Backward compatibility where practical
  • Educational implementations without hiding Python internals

Installation

python -m pip install cereja

Quick Start

import cereja as cj

path = cj.Path(".")
print(path.list_files())
from cereja.file import FileIO

file = FileIO.create("./example.txt", ["first line", "second line"])
file.add("third line")
file.save()

CLI

cereja --help
cereja compress path/to/input
cereja decompress archive.cjz

Progress is enabled by default for CLI compression and decompression. Use --quiet for script-friendly output.

Development

git clone https://github.com/cereja-project/cereja.git
cd cereja
python -m pip install -e .
python -m unittest discover -s tests -v

Run the syntax/undefined-name lint used by CI:

flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics

Documentation

Citation

If you use Cereja in academic work, please cite it. GitHub uses CITATION.cff for the "Cite this repository" button, and a BibTeX entry is available in CITATION.bib.

License

Cereja is distributed under the MIT License. See LICENSE for details.

Contributors

jlsnetogmowsesailton-felixdennymarcelsdependabot[bot]mukulbindalchillrxrickardsAnaFerreira015GabrielBrasileirojoeypasjoaovictorcostaRodrigoBastos

Issues