pyproject.toml - Poetry configuration

See the Poetry docs to get an understanding of how poetry specifies dependencies.

Important: This program performs automated edits to the pyproject.toml files for this project and all its subprojects (such as the BookServer and the Runestone Components) specified by path dependencies. Therefore, you must run python runestone/poetry_fix.py after making any changes to this file or any pyproject.toml path dependencies to keep these files up to date.

Project metadata

[tool.poetry]
name = "runestone_poetry_project"
version = "6.6.3"
description = "A web2py-based server for the Runestone e-book system."
authors = ["Brad Miller <bonelake@mac.com>", "Bryan A. Jones <bjones AT ece DOT msstate DOT edu"]
license = "MIT"
 
 

Dependencies

[tool.poetry.dependencies]
cryptography = "^3.0.0"
altair = "^4.0.0"
beautifulsoup4 = "^4.0.0"
bleach = "> 3.1.1"
bookserver = ">= 1.3.3"
boto3 = "^1.26.30"
cssselect = ">= 1.0"
diff-match-patch = ">= 20110725.1"
lxml = ">= 4.6.2"
numpy = ">= 1.9.2"
oauth2 = ">=1.9"
pandas = "^1.0.0"
pathlib2 = "^2.0.0"
Paver = ">= 1.2.4"

This is actually an rsmanage dependency. It’s here so that rsmanage can be installed without installing this, which requires Postgres (available only in the container).

pgcli = "^3.0.0"
psycopg2-binary = "^2.0.0"
pylint = ">= 1.2.1"
python = "^3.9.0"
python-dateutil = ">= 2.4.2"
pytz = ">= 2016.6.1"
requests = ">= 2.10.0"
rsmanage = { path = "./rsmanage", develop = true }
runestone = ">= 6.3.17"
runestone-docker-tools = { path = "./docker", develop = true }
stripe = "^2.0.0"
six = ">= 1.10.0"
Sphinx = "> 4.1.0"
sphinxcontrib-paverutils = ">= 1.17"
SQLAlchemy = ">= 1.0.14"
pyjwt = "== 2.0.1"
pretext = "^1.0.0"
 

Development dependencies

[tool.poetry.dev-dependencies]
black = "~= 22.0"
bookserver = { path = "../BookServer", develop = true }
CodeChat = "^1.0.0"
contextlib2 = "^0.6.0"
coverage = "^6.0.0"
coveralls = "^3.0.0"
flake8 = "^4.0.0"
html5validator = "^0.3.0"
locust = "^1.0.0"
mock = "^4.0.0"

For building the docs with Sphinx.

myst-parser = "^0.15.0"

For the plugin.

polling2 = "^0.5.0"
pytest = "^7.0.0"
pyvirtualdisplay = "^3.0.0"
pywin32 = { version = ">= 301", markers = "sys.platform == 'win32'" }
runestone = { path = "../RunestoneComponents", develop = true }
selenium = "^3.0.0"
 
 

Poetry backend

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"