Skip to main content

Kumir preprocessing, package management and debugging tool

Project description

Kumir-Compose

A preprocessing and package management tool for modern Kumir development.

Prerequisites

Install a Kumir SDK first (niisi.ru).

This project was tested only on Windows. It should work on other systems too, but it's not guaranteed.

Installation

pip install kumir-compose
# requires python 3.12+

Usage

Create a Kumir-Compose project:

$ kumir-compose init
Enter project name: test project
Select library directory [lib]: 
Do you want Kumir-Compose to automatically find Kumir SDK [Y/n]? Y
Config created.

Download a dependency:

$ kumir-compose depend k-collections

Run the project:

$ kumir-compose run main.kum

Configuration file:

# Project config
project:
  
  # Name of the project
  name: example project
  
  # Dependencies list
  # Default: empty list
  depends:
    k-collections: latest
    
  # Directory to store dependencies
  library_location: lib  # default
  
  # Where to search for files for inclusion
  lookup:
    - lib  # default
    
  # How to name assembled files
  filename_format: %s.kum  # default
  
  # List files for distribution.
  # They will be downloaded upon requesting your project
  # as a dependency for other project.
  # Default: empty list
  distribute:
    - my_lib.kum


# Kumir-Compose settings
settings:
  
  # SDK binary paths
  sdk:
    compiler: 'C:\\\\Program Files (x86)\\\\Kumir-2.1.0-rc11\\\\bin\\\\kumir2-bc.exe'
    release: 'C:\\\\Program Files (x86)\\\\Kumir-2.1.0-rc11\\\\bin\\\\kumir2-xrun.exe'
    debug: 'C:\\\\Program Files (x86)\\\\Kumir-2.1.0-rc11\\\\bin\\\\kumir2-xrun.exe'

Preprocessor

Preprocessor defines following directives:

  • || include "path/to/file" = || включить "путь/к/файлу"
    Every file is included only once.
  • || ifdef MACRO = || еслизад МАКРОС
  • || ifndef MACRO = || еслинезад МАКРОС
  • || define MACRO ... = || задать МАКРОС ...
  • || undef MACRO = || забыть МАКРОС

Dependencies

Dependencies are searched in GitHub repositories.

If name has no slash in it, kumir-compose organisation will be searched.

Examples:

$ kumir-compose depend k-collections
$ kumir-compose depend my-profile/my-library
$ kumir-compose undepend my-profile/my-library

Licensing

This work is licensed under GNU GPL v3.0

Author

@Tapeline

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

kumir_compose-0.2.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

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

kumir_compose-0.2-py3-none-any.whl (32.0 kB view details)

Uploaded Python 3

File details

Details for the file kumir_compose-0.2.tar.gz.

File metadata

  • Download URL: kumir_compose-0.2.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.13.3 Windows/10

File hashes

Hashes for kumir_compose-0.2.tar.gz
Algorithm Hash digest
SHA256 9c28e0cfc4e8258734d080af22801f8c069aa9e836246f41a846eb6d006e9b7f
MD5 226c257e0abb8db68990be2cdfd6bc35
BLAKE2b-256 390f85f7402428aab0a79451878b19e05037d870811173b330a99cdede4189e8

See more details on using hashes here.

File details

Details for the file kumir_compose-0.2-py3-none-any.whl.

File metadata

  • Download URL: kumir_compose-0.2-py3-none-any.whl
  • Upload date:
  • Size: 32.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.13.3 Windows/10

File hashes

Hashes for kumir_compose-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b1dd841c846843b04e1718c149317dabdf2f6e5dc12f5c51ee406fc320cf4dd2
MD5 79224294b64e8817e4042846b7be2e4b
BLAKE2b-256 ec0b28dfd76ecee957be0050478f4262d4a71c7ddb43c34207ebd3706c8ca2c4

See more details on using hashes here.

Supported by

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