Skip to main content

The Classical Language Toolkit

Project description

https://travis-ci.org/cltk/cltk.svg?branch=master

About

Experimental CLTK with new NLP() class.

Installation

$ pip install cltk

Documentation

$ make docs

Development

The following steps will give you a working development environment.

Python setup

Use pyenv to manage Python versions and poetry for package builds.

  • Install pyenv:
  • Install supported versions of the Python language through pyenv into a dedicated virtualenv:
    • $ pyenv install --list | grep 3.8

    • $ pyenv install 3.8.3 (or whatever is latest)

    • $ pyenv virtualenv 3.8.3 cltk

    • $ pyenv local cltk. Open a new window and this should be activated (check with $ python --version).

  • Install poetry to support packaging: $ curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python (https://poetry.eustace.io/docs/)

  • Install dependencies in poetry.lock: $ poetry install

  • Install Stanford NLP models: $ poetry run python scripts/download_misc_dependencies.py

  • Install Graphiz (necessary for building docs): https://graphviz.gitlab.io/download/

Packaging

  • Validate structure of pyproject.toml: $ poetry check

  • Update project version with poetry: $ poetry version prepatch (e.g., 1.0.0 to 1.0.1-alpha.0)
    • For minor version: $ poetry version preminor (1.0.0 to 1.1.0-alpha.0)

    • For major version: $ poetry version premajor (1.0.0 to 2.0.0-alpha.0)

  • Update all dependencies to latest version (optional): $ make updateDependencies

  • Make package (sdist and wheel): $ make build

  • Check typing: $ make typing
    • View report at .mypy_cache/index.html

  • Run linter: $ make lint
    • View report at pylint/pylint.html

  • Auto-format code: $ make format

  • Build docs: $ make docs
    • View docs at docs/_build/html/index.html

  • Make UML diagrams: $ make uml
    • View diagrams at docs/classes.png and docs/packages.png

  • Run the above at each commit with pre-commit: $ poetry run pre-commit install (just once)

  • Run tests: $ make test

  • Publish pre-release (permissions required): $ make uploadTest

  • Install from TestPyPI: $ make installPyPITest

  • Repeat the above as necessary

  • Bump version: $ poetry version patch (e.g., 1.0.1-alpha.0 to 1.0.1)
    • For minor version: $ poetry version minor (1.0.1-alpha.0 to 1.1.0)

    • For major version: $ poetry version major (1.0.1-alpha.0 to 2.0.0)

    • If you need to publish multiple versions of an alpha pre-release, run $ poetry version prerelease (e.g., 1.0.1-alpha.0 to 1.0.1-alpha.1 to 1.0.1-alpha.2)

  • Publish to PyPI (permissions required): $ make upload

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

cltk-1.0.0a4.tar.gz (315.0 kB view hashes)

Uploaded Source

Built Distribution

cltk-1.0.0a4-py3-none-any.whl (381.0 kB view hashes)

Uploaded Python 3

Supported by

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