Skip to content

Latest commit

 

History

History

python

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

Python and Stencila

👋 Introduction

This folder groups the python code for the Stencila project. The code is organized in the following folders:

  • stencila_types: Python types generated from the schema-gen crate, and associated shortcuts and utilities. This package is required by the following two packages.
  • stencila: This rust-extension for python (using pyo3) that exposes some of the core Stencila API to python.
  • stencila_plugin: This is a plugin to aid writing Stencila plugins in Python. It provides a base classes for implementing plugins for kernels (other APIs are coming).

See the individual folders for more information.

🛠️ Develop

We use pdm for managing dependencies. Installation instructions are here.

We develop using the lowest version of Python that is supported by Stencila, which is Python 3.10. You will need a copy of Python 3.10 installed on your system where pdm can find it (using asdf, pyenv, or conda, or a system installation). make install in this folder, or the subfolders will create a virtual environment for each of the packages.

Release

This is currently manually done for the python packages.

We use the pdm-bump plugin to bump versions. After installing pdm, run the following to install pdm-bump:

pdm plugin add pdm-bump