Overview
MyText is a lightweight AI-powered text enhancement tool that rewrites, paraphrases, and adjusts tone using modern LLM providers. It offers a clean command-line interface and a minimal Python API, supports multiple providers (Google AI Studio & Cloudflare Workers AI), and automatically selects the first available provider based on your environment variables.
| PyPI Counter | |
| Github Stars |
| Branch | main | dev |
| CI |
| Code Quality |
Installation
Source Code
- Download Version 0.9 or Latest Source
pip install .
PyPI
- Check Python Packaging User Guide
pip install mytext==0.9
Usage
CLI
Single Run
Executes a one-time text transformation using the provided options and exits immediately after producing the result.
mytext \
"Can you update me on the project timeline by the end of the day?"
--mode="paraphrase" \
--tone="formal"
Loop
Starts an interactive session that repeatedly accepts new text inputs from the user while keeping the same configuration until the process is terminated.
mytext \
--mode="paraphrase" \
--tone="formal" \
--loop
Arguments
| Argument | Description | Default |
|---|---|---|
text/--text |
Text to process (required unless --loop is used) |
- |
--mode |
Text processing mode | paraphrase |
--tone |
Output text desired tone | neutral |
--provider |
AI provider selection | auto |
--loop |
Enable interactive loop mode | false |
--model |
Override provider LLM model | - |
--version |
Show application version | - |
--info |
Show application information | - |
ℹ️ Supported modes: paraphrase, grammar, summarize, simplify, bulletize, shorten, emojify
ℹ️ Supported tones: neutral, formal, casual, friendly, professional, academic, creative, biblical, viking, zen, corporate
ℹ️ Supported providers: auto, ai-studio, cloudflare, openrouter, cerebras, groq, nvidia
Library
You can also use MyText directly inside Python.
from mytext import run_mytext
from mytext import Mode, Tone, Provider
auth = {"api_key": "YOUR_KEY"}
result = run_mytext(
text="Let me know if you have any questions after reviewing the attached document.",
auth=auth,
mode=Mode.PARAPHRASE,
tone=Tone.NEUTRAL,
provider=Provider.AI_STUDIO
)
print(result["status"], result["message"])
Parameters
| Parameter | Description | Default |
|---|---|---|
text |
Input text to process | - |
auth |
Authentication parameters for the provider | - |
mode |
Text processing mode | Mode.PARAPHRASE |
tone |
Output text desired tone | Tone.NEUTRAL |
provider |
AI provider | Provider.AI_STUDIO |
model |
Override provider LLM model | None |
Supported Providers
MyText automatically detects which providers are available based on environment variables.
Each provider has a default model. You may optionally override it using either the CLI --model argument or a *_MODEL environment variable.
| Provider | Required Environment Variables | Default Model | Optional Model Override | Status |
|---|---|---|---|---|
| AI Studio | AI_STUDIO_API_KEY |
gemma-4-31b-it |
AI_STUDIO_MODEL |
|
| Cloudflare | CLOUDFLARE_API_KEY, CLOUDFLARE_ACCOUNT_ID |
llama-3.1-8b-instruct-fast |
CLOUDFLARE_MODEL |
|
| OpenRouter | OPENROUTER_API_KEY |
z-ai/glm-5.2:free |
OPENROUTER_MODEL |
|
| Cerebras | CEREBRAS_API_KEY |
gpt-oss-120b |
CEREBRAS_MODEL |
|
| Groq | GROQ_API_KEY |
openai/gpt-oss-20b |
GROQ_MODEL |
|
| NVIDIA | NVIDIA_API_KEY |
nvidia/nemotron-3-super-120b-a12b |
NVIDIA_MODEL |
Configuration Resolution Priority
MyText supports multiple configuration sources (CLI arguments, environment variables, and built-in defaults).
When resolving any configurable parameter (e.g., model), MyText follows this priority order:
- CLI argument (highest priority)
- Corresponding environment variable
- Built-in default value (lowest priority)
Issues & Bug Reports
Just fill an issue and describe it. We'll check it ASAP!
- Please complete the issue template
Show Your Support
Star This Repo
Give a ⭐️ if this project helped you!
Donate to Our Project
Bitcoin
1KtNLEEeUbTEK9PdN6Ya3ZAKXaqoKUuxCyEthereum
0xcD4Db18B6664A9662123D4307B074aE968535388Litecoin
Ldnz5gMcEeV8BAdsyf8FstWDC6uyYR6pgZDoge
DDUnKpFQbBqLpFVZ9DfuVysBdr249HxVDhTron
TCZxzPZLcJHr2qR3uPUB1tXB6L3FDSSAx7Ripple
rN7ZuRG7HDGHR5nof8nu5LrsbmSB61V1qqBinance Coin
bnb1zglwcf0ac3d0s2f6ck5kgwvcru4tlctt4p5qefTether
0xcD4Db18B6664A9662123D4307B074aE968535388Dash
Xd3Yn2qZJ7VE8nbKw2fS98aLxR5M6WUU3sStellar
GALPOLPISRHIYHLQER2TLJRGUSZH52RYDK6C3HIU4PSMNAV65Q36EGNLZilliqa
zil1knmz8zj88cf0exr2ry7nav9elehxfcgqu3c5e5Coffeete
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Unreleased
0.9 - 2026-09-30
Added
textCLI argument
Changed
- Providers credentials load bug fixed
- API call functions modified
- Cerebras default model changed to
gpt-oss-120b - Cloudflare API call bug fixed
- Test system modified
- Validation system modified
- CLI arguments modified
README.mdupdated- OpenRouter default model changed to
z-ai/glm-5.2:free - NVIDIA default model changed to
nvidia/nemotron-3-super-120b-a12b max_retriesparameter bug fixedmax_retriesparameter default value changed to 3
Removed
- GitHub provider
0.8 - 2026-06-14
Added
MyTextErrorclassMyTextValidationErrorclassMyTextProviderErrorclass
Changed
grammarmode optimized- Instructions modified
- AI Studio default model changed to
gemma-4-31b-it - Cloudflare default model changed to
llama-3.1-8b-instruct-fast README.mdupdated- Test system modified
- Dependencies structure modified
0.7 - 2026-04-24
Added
emojifymodebiblicaltonevikingtonezentonecorporatetone- Tone hint
Changed
README.mdupdated- Cerebras default model changed to
llama3.1-8b - Instructions modified
0.6 - 2026-03-11
Added
- GitHub provider
Changed
- CLI functions moved to
cli.py - CLI messages updated
- CLI modified
- OpenRouter default model changed to
openai/gpt-oss-20b:free - Test system modified
README.mdupdated
0.5 - 2026-02-18
Added
--providerargument--modelargument_load_model_from_envfunction
Changed
modelparameter added torun_mytextfunction- AI Studio default model changed to
gemma-3-1b-it - OpenRouter default model changed to
google/gemma-3-27b-it:free - Test system modified
README.mdupdated
0.4 - 2025-12-25
Added
- Groq provider
- NVIDIA provider
--loopargument
Changed
- Test system modified
README.mdupdated
0.3 - 2025-12-17
Added
- OpenRouter provider
- Cerebras provider
Changed
- Test system modified
README.mdupdated- AI Studio main model changed to
gemini-2.5-flash - AI Studio fallback model changed to
gemma-3-1b-it - Providers moved to
providers.py
0.2 - 2025-12-05
Added
- Logo
summarizemodesimplifymodebulletizemodeshortenmode
Changed
README.mdupdated- Cloudflare fallback model changed to
meta/llama-3.1-8b-instruct-fast - Model switching modified
0.1 - 2025-11-26
Added
run_mytextfunction- AI Studio provider
- Cloudflare provider
--modeargument--toneargument
Metadata
Release files for mytext 0.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mytext-0.9.tar.gz | 21.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mytext-0.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.8 kB
Release files / mytext-0.9.tar.gz
| Download URL | mytext-0.9.tar.gz |
|---|---|
| Size | 21.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7d524c1b76f97a9a3c6f3b86975d2f42d20f176a61dbb2b0d882d6abfe471638
|
|
BLAKE2b-256 checksum How to use checksums |
7907b41625490bfd8fb118bc4f1219267f2b0eeb36d3a5d93a4b3d76b6ee118c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mytext-0.9-py3-none-any.whl
| Download URL | mytext-0.9-py3-none-any.whl |
|---|---|
| Size | 15.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
583486e1401db087a3f0566be41cf4ede095375c143ad0eed1c0ae1c2e311741
|
|
BLAKE2b-256 checksum How to use checksums |
c58fdc859abd25556592dcd903f854157e7a1ca4c15979280c23192747cf1627
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|