pylyskom is a Python library for communicating with LysKOM servers over LysKOM Protocol A.
The source code can be found at: https://github.com/osks/pylyskom
Packages are published on PyPI: https://pypi.org/project/pylyskom/
LysKOM Protocol A specification can be found here: https://www.lysator.liu.se/lyskom/protocol/
pylyskom was originally based on python-lyskom. The following files originates from python-lyskom: kom.py, komauxitems.py, aux-items.txt and make_komauxitems. Most of the changes since then comes from httpkom's use of kom.py. Httpkom also built some wrappers (komsession) around the kom.py code, to make it easier to use. Pylyskom was created as an attempt to break out komsession and the modifications to kom.py from httpkom.
TODO: How do we update the documentation on github pages?
On master:
Update and check CHANGELOG.md.
Increment version number and remove
+dev
suffix (inpylyskom/version.py
).Run tests locally with
make test
. Test manually by using jskom.Commit, push.
Check CI build/test results.
Tag (annotated) with
v<version>
(example:v0.1
) and push the tag:git tag -a v0.1 -m "Version 0.1" git push origin v0.1
Build PyPI dist:
make dist
Push to Test PyPI:
twine upload --repository testpypi dist/*
and check https://test.pypi.org/project/pylyskom/ .Push to PyPI:
twine upload dist/*
and check https://pypi.org/project/pylyskom/ .Add
+dev
suffix to version number, commit and push.Github release: Go to https://github.com/osks/pylyskom/releases and draft a new release. Select tag and set title to "Version <version>", and then publish the release.
Install and update release tools with:
pip install --upgrade setuptools wheel pip twine
Twine is used for pushing the built dist to PyPI. The examples in the
release process depends on a .pypirc
file with config for the pypi
and testpypi repositories.
Example of .pypirc
:
[pypi] username = __token__ password = pypi-... [testpypi] repository = https://test.pypi.org/legacy/ username = __token__ password = pypi-...
Copyright (C) 2012-2022 Oskar Skoog
Copyright (C) 2008 Henrik Rindlöw
Copyright (C) 1999-2003 Kent Engström, Peter Liljenberg, Peter Åstrand, Erik Forsberg, Ragnar Ouchterlony.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.