Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 0.2.1 instead.
Reason given by maintainers: Errors in documentation

DevScript

Документация на русском

DevScript is a simple utility for managing custom development scripts. It allows you to define commands in JSON or TOML files and execute them through a single interface. It is available in two implementations: Python and TypeScript.

Installation

Python version

pip install devscript

Or install from source:

git clone https://github.com/MagIlyasDOMA/devscript.git
cd devscript
pip install -e .

Configuration format

[tool.devscript]
build = "python -m build"
test = "pytest tests/"
lint = "flake8 src/"
dev = "python -m app --debug"

Running commands

The package provides four CLI commands:

  • devscript — full name
  • devscr — abbreviation
  • devs — short
  • dvs — shortest

All of them work the same:

# Show the list of available commands
devscript --help

# Run a command
devscript build
devscr dev
devs test
dvs lint 

# Pass arguments to a command
devscript dev --port 8000 --reload

Examples

Example 1: Basic usage

# pyproject.toml
[tool.devscript]
start = "uvicorn main:app --reload"
migrate = "alembic upgrade head"
shell = "ipython"
devs start      # Starts the uvicorn server
devs migrate    # Applies migrations
devs shell      # Starts IPython

Example 2: Passing arguments

[tool.devscript]
test = "pytest"
cov = "pytest --cov=src"
devs test tests/test_api.py -v  # pytest tests/test_api.py -v
devs cov --cov-report=html      # pytest --cov=src --cov-report=html

Development

Python version

# Clone the repository
git clone https://github.com/MagIlyasDOMA/devscript.git
cd devscript

# Install in development mode
pip install -e .

# Run tests
devs test

# Run linter
devs lint

Project structure

devscript/
├── devscript.py            # Python implementation
├── pyproject.toml
├── README.md
├── schema.json             # JSON Schema for autocompletion
└── LICENSE

JSON Schema

For autocompletion and validation in code editors, use the schema:

{
  "$schema": "https://raw.githubusercontent.com/MagIlyasDOMA/devscript/refs/heads/main/schema.json"
}

API

Using in code

Python

from devscript import DevScriptCore

core = DevScriptCore()
print("Available commands:", core.commands_list())
core.run("build", ["--verbose"])

Requirements

Python version

  • Python 3.11 or higher
  • No external dependencies (uses the standard library)

License

GPL-3.0-only

Author

Mag Ilyas DOMA (MagIlyasDOMA)

Contribution

  1. Fork the repository
  2. Create a branch for the feature (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

DevScript

Documentation in English

DevScript — это простая утилита для управления пользовательскими скриптами разработки. Она позволяет определять команды в JSON или TOML файлах и запускать их через единый интерфейс. Доступна в двух реализациях: Python и TypeScript.

Установка

Python версия

pip install devscript

Или установка из исходного кода:

git clone https://github.com/MagIlyasDOMA/devscript.git
cd devscript
pip install -e .

Формат конфигурации

[tool.devscript]
build = "python -m build"
test = "pytest tests/"
lint = "flake8 src/"
dev = "python -m app --debug"

Запуск команд

Пакет предоставляет четыре CLI-команды:

  • devscript — полное имя
  • devscr — сокращение
  • devs — короткое
  • dvs — самое короткое

Все они работают одинаково:

# Показать список доступных команд
devscript --help

# Запустить команду
devscript build
devscr dev
devs test
dvs lint 

# Передать аргументы команде
devscript dev --port 8000 --reload

Примеры

Пример 1: Базовое использование

# pyproject.toml
[tool.devscript]
start = "uvicorn main:app --reload"
migrate = "alembic upgrade head"
shell = "ipython"
devs start      # Запускает uvicorn сервер
devs migrate    # Применяет миграции
devs shell      # Запускает IPython

Пример 2: Передача аргументов

[tool.devscript]
test = "pytest"
cov = "pytest --cov=src"
devs test tests/test_api.py -v  # pytest tests/test_api.py -v
devs cov --cov-report=html      # pytest --cov=src --cov-report=html

Разработка

Python версия

# Клонировать репозиторий
git clone https://github.com/MagIlyasDOMA/devscript.git
cd devscript

# Установить в режиме разработки
pip install -e .

# Запустить тесты
devs test

# Запустить линтер
devs lint

Структура проекта

devscript/
├── devscript.py            # Python-реализация
├── pyproject.toml
├── README.md
├── schema.json             # JSON Schema для автодополнения
└── LICENSE

JSON Schema

Для автодополнения и валидации в редакторах кода используйте схему:

{
  "$schema": "https://raw.githubusercontent.com/MagIlyasDOMA/devscript/refs/heads/main/schema.json"
}

API

Использование в коде

Python

from devscript import DevScriptCore

core = DevScriptCore()
print("Доступные команды:", core.commands_list())
core.run("build", ["--verbose"])

Требования

Python версия

  • Python 3.11 или выше
  • Нет внешних зависимостей (использует стандартную библиотеку)

Лицензия

GPL-3.0-only

Автор

Маг Ильяс DOMA (MagIlyasDOMA)

Вклад в разработку

  1. Форкните репозиторий
  2. Создайте ветку для фичи (git checkout -b feature/amazing-feature)
  3. Закоммитьте изменения (git commit -m 'Add some amazing feature')
  4. Запушьте в ветку (git push origin feature/amazing-feature)
  5. Откройте Pull Request

Download files

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

Source Distribution

devscript-0.2.0.tar.gz (17.0 kB view details)

Uploaded Source

Built Distribution

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

devscript-0.2.0-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

Details for the file devscript-0.2.0.tar.gz.

File metadata

  • Download URL: devscript-0.2.0.tar.gz
  • Upload date:
  • Size: 17.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for devscript-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e76ebf72e92a7d5c9060a179c7aaf4f10dc29ab78f9063075c255b9254e743f8
MD5 7bcccaadd51e5ac81570a937125599ab
BLAKE2b-256 b1c8f6b1ebab08dd679187e232886cc8b3771255cba879d231bfc22b1452ead1

See more details on using hashes here.

File details

Details for the file devscript-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: devscript-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for devscript-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2127074e47894806f5a6414dff59c0cf20be3906edd429cb131992b4babe170f
MD5 5fce13b24e2865ec85b160663e559561
BLAKE2b-256 5449170ff1aed44d1580f7b07825d1797e890ae0fa5150c809e4cadc63cb3814

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.1

2 files

This release

0.2.0 This release

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

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