3454a55636
cffconvert / validate (push) Waiting to run
ci-workflow / pre-commit (push) Waiting to run
ci-workflow / Minimal NLTK Download Test (macos-latest) (push) Waiting to run
ci-workflow / Minimal NLTK Download Test (ubuntu-latest) (push) Waiting to run
ci-workflow / Minimal NLTK Download Test (windows-latest) (push) Waiting to run
ci-workflow / Python 3.10 on macos-latest (push) Blocked by required conditions
ci-workflow / Python 3.11 on macos-latest (push) Blocked by required conditions
ci-workflow / Python 3.12 on macos-latest (push) Blocked by required conditions
ci-workflow / Python 3.13 on macos-latest (push) Blocked by required conditions
ci-workflow / Python 3.14 on macos-latest (push) Blocked by required conditions
ci-workflow / Python 3.14t on macos-latest (push) Blocked by required conditions
ci-workflow / Python 3.10 on ubuntu-latest (push) Blocked by required conditions
ci-workflow / Python 3.11 on ubuntu-latest (push) Blocked by required conditions
ci-workflow / Python 3.12 on ubuntu-latest (push) Blocked by required conditions
ci-workflow / Python 3.13 on ubuntu-latest (push) Blocked by required conditions
ci-workflow / Python 3.14 on ubuntu-latest (push) Blocked by required conditions
ci-workflow / Python 3.14t on ubuntu-latest (push) Blocked by required conditions
ci-workflow / Python 3.10 on windows-latest (push) Blocked by required conditions
ci-workflow / Python 3.11 on windows-latest (push) Blocked by required conditions
ci-workflow / Python 3.12 on windows-latest (push) Blocked by required conditions
ci-workflow / Python 3.13 on windows-latest (push) Blocked by required conditions
ci-workflow / Python 3.14 on windows-latest (push) Blocked by required conditions
86 lines
3.0 KiB
Plaintext
86 lines
3.0 KiB
Plaintext
Building an NLTK distribution
|
|
----------------------------------
|
|
|
|
0. Packages required to build, test, and distribute NLTK
|
|
- py312-pytest py312-requests py312-sphinx
|
|
- py312-numpy py312-matplotlib py312-tkinter py312-black
|
|
- sqlite3-tcl
|
|
- pip install sphinxcontrib-apidoc twython build twine pytest-mock pre-commit
|
|
|
|
1. Testing
|
|
- Check no errors are reported in our continuous integration service:
|
|
https://github.com/nltk/nltk/actions
|
|
- Optionally test demonstration code locally
|
|
make demotest
|
|
- Optionally test individual modules:
|
|
tox -e py312 nltk.package.module
|
|
- Check the data index is up-to-date:
|
|
cd ../nltk_data; make; push
|
|
|
|
2. Update Version Number and ChangeLog
|
|
- Update version number
|
|
edit nltk/VERSION and web/conf.py (version and release)
|
|
- Check web/install.rst mentions latest version of Python
|
|
- Check setup.py lists correct range of Python versions
|
|
- Add a new entry to the news page in nltk/web/news.rst
|
|
- Update the ChangeLog (for nltk, nltk_data)
|
|
git log "$(git describe --tags --abbrev=0)..HEAD" --oneline
|
|
edit ChangeLog
|
|
|
|
3. Build Documentation
|
|
- Check the copyright year is correct and update if necessary
|
|
e.g. ./tools/global_replace.py 2001-2026 2001-2026
|
|
check web/conf.py copyright line
|
|
- Check that installation instructions are up-to-date
|
|
(including the range of Python versions that are supported)
|
|
edit web/install.rst setup.py
|
|
- Ensure that nltk_theme is installed and updated
|
|
pip install -U nltk_theme
|
|
- Rebuild the API docs
|
|
sphinx-build -E ./web ./build
|
|
- Publish them
|
|
cd ../nltk.github.com; git pull (begin with current docs repo)
|
|
cp -r ../nltk/build/* .
|
|
git add .
|
|
git commit -m "updates for version 3.X.Y"
|
|
git push origin master
|
|
|
|
4. Create a new version
|
|
- Tag this version:
|
|
cd ../nltk
|
|
git tag -a 3.X.Y -m "version 3.X.Y"
|
|
git push --tags
|
|
verify that it shows up here: https://github.com/nltk/nltk/tags
|
|
This is important for the website, as the footer will link to the
|
|
tag with the version from web/conf.py.
|
|
|
|
5. Release
|
|
- Make the distributions
|
|
make clean; make dist; ls dist/
|
|
- Upload the distributions
|
|
python -m twine upload dist/*
|
|
- Check upload
|
|
https://pypi.python.org/pypi/nltk
|
|
|
|
6. Announce
|
|
- Post announcement to NLTK the mailing lists:
|
|
nltk-dev (for beta releases)
|
|
nltk-users (for final releases)
|
|
nltk twitter account
|
|
|
|
7. Optionally update repo version
|
|
- we don't want builds from the repository to have the same release number
|
|
e.g. after release X.Y.4, update repository version to X.Y.5a (alpha)
|
|
|
|
|
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
@@@ BOOK BUILD
|
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
|
|
The build requires docutils, pdflatex, python imaging library, epydoc,
|
|
cdrtools, ImageMagick
|
|
|
|
1. Check out a clean copy of the subversion repository (or make clean)
|
|
and install locally with pip install; make clean
|
|
2. make doc (slow; see doc/ for the results) and commit
|