Jskom is a web based LysKOM client written in Javascript
Project description
jskom is a web based LysKOM client written in Javascript. It comes with a Python web app for configuring and serving the Javascript files.
jskom uses httpkom for communication with the LysKOM server.
The source code can be found at: https://github.com/osks/jskom
Packages are published on PyPI: https://pypi.org/project/jskom/
Docker images are published on Docker Hub: https://hub.docker.com/r/osks/jskom
Dependencies
httpkom: https://github.com/osks/httpkom
For required Python packages, see requirements.txt. Install them with:
$ pip install -r requirements.txt
For running the tests from the Makefile in a console, you need PhantomJS. You can still run the tests in a regular browser if you want. (If you use Homebrew on OS X, you can install it with ‘brew install phantomjs’.)
For information: The jskom tests uses the Mocha framework (http://visionmedia.github.com/mocha/) and mocha-phantomjs (http://metaskills.net/mocha-phantomjs/). Both are included with jskom. For mocha-phantomjs to work, mocha.js had to be patched to use a real diff library:
require.register("browser/diff.js", function(module, exports, require){ module.exports = JsDiff; // this row was added });
Running
Default port is 5000.
Development
$ make run-debug-server
Docker
Simple example:
$ docker run -ti --name=jskom --net=host osks/jskom
More complete:
$ docker run -d --name=jskom --net=host --restart=always \ -v /path/to/my-httpkom-config.cfg:/httpkom.cfg \ -v /path/to/my-jskom-config.cfg:/jskom.cfg \ osks/jskom:dev
Development
Building a dev docker image
docker build -f Dockerfile.dev -t osks/jskom:dev --no-cache . docker login # username and access token for password docker push osks/jskom:dev
Preparing a release
On master:
Update and check CHANGELOG.md.
Increment version number and remove +dev suffix IN BOTH setup.py AND jskom/version.py!
Test manually by using jskom.
Commit, push.
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/jskom/ .
Push to PyPI: twine upload dist/* and check https://pypi.org/project/jskom/ .
Add +dev suffix to version number, commit and push.
Github release: Go to https://github.com/osks/jskom/releases and draft a new release. Select tag and set title to “Version <version>”, and then publish the release.
Docker image:
docker build -f Dockerfile -t osks/jskom:v<version> --no-cache . docker login # username and access token for password docker push osks/jskom:v<version>
Tools
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 and license
Copyright (c) 2012-2022 Oskar Skoog. jskom is provided under the MIT license. See the included LICENSE.txt file for specifics.
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.