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.
Source Distribution
File details
Details for the file jskom-0.26.tar.gz
.
File metadata
- Download URL: jskom-0.26.tar.gz
- Upload date:
- Size: 686.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a0928c55031dcedb1fada3b3c97c0afe628de7c8fd5962bb6fb7764d8785493 |
|
MD5 | ea3f7a4550247cef03c3825afbfb7966 |
|
BLAKE2b-256 | 6d939bf7b6d3135c60db5d67b34fa0eedfe362394dfcaccf4f7b301256653197 |