Skip to content

Latest commit

 

History

History
89 lines (58 loc) · 3.36 KB

README.md

File metadata and controls

89 lines (58 loc) · 3.36 KB

PyPI status PyPI version PyPI pyversions Build Status Coverage Status Code style

kiara plugin: (tabular)

kiara data-types and modules for working with tables and databases.

Description

TODO

Development

Requirements

  • Python (version >= 3.8)
  • pip, virtualenv
  • git
  • make (on Linux / Mac OS X -- optional)

Prepare development environment

If you only want to work on the modules, and not the core Kiara codebase, follow the instructions below. Otherwise, please check the notes on how to setup a Kiara development environment under (TODO).

Using pixi (recommended)

The recommended way to setup a development environment is to use pixi. Check out their install instructions.

Once you have pixi installed, you need to initialize the environment once:

pixi run install-dev-dependencies

You also need to do this whenever a depdendency of this plugin is updated (for example the core kiara package).

Once that is done, you can enter the environment with:

pixi shell

This will start a sub-shell with the virtual environment activated, and all dependencies of the plugin package installed. To confirm it works, you can run any kiara command:

kiara --version
# or
kiara operation list
# or
...
...

Once you are finished with your development session, you can exit the sub-shell as you would normally do in such cases:

exit

Alternatively, you can also run the kiara executable directly, it is located in .pixi/env/bin/kiara. So either adapt your PATH variable, or do something like:

.pixi/env/bin/kiara operation list

In most cases it's recommended to use a pixi shell though.

Using pre-defined development-related tasks

The included pyproject.toml file includes some useful tasks that help with development:

  • pixi run pre-commit-check: runs a set of checks against all files
  • pixi run tests: runs the unit tests
  • pixi run mypy: run mypy checks

Copyright & license

This project is MPL v2.0 licensed, for the license text please check the LICENSE file in this repository.