Centralized Access-Control for SSH
Project description
NOT FOR PROD CONSUMPTION
Our ambition is to build a high-quality secure product that can be easily self-hosted. The project, in its current state, does not meet our security and quality bar to be deployed in production.
If you do so, be warned that you will hit both functional limitations and major security issues.
Documentation
All our documentation lives in the docs/ directory.
To rebuild it and store the static html, js, and css to the site/ directory:
uv run zensical build
zensical serve is more convenient if you intend to work on the documentation content
itself:
uv run zensical serve
Development environment
Install pre-commit hooks locally:
$ uv run pre-commit install
Coding style
Check any changes with:
uv run ruff check
uv run ruff format
uv run pyright
Most notably, all code is expected to use python type anotations for method/function arguments and return values. "type: ignore" is considered evil: avoid at all costs.
Tests
We use python type hints extensively so, the first order of business is to verify that your changes are still correct with regard to type hints:
$ uv run pyright
Both unit tests and end-to-end tests can be run with pytest:
$ uv run pytest
The pre-release test process requires a test across multiple python versions:
$ uv run tox
We regularly track test code coverage. We aim for at least 85%:
$ make cov
...
$ make cov-report
...
TOTAL 5167 685 87%
Debugging
Start the textual debugging console:
uv run --with textual-dev textual console
By default, the dev textual app connects to the console:
./scripts/pfat
Licence
pf is released under the open-source AGPLv3 licence. To summarize, it
allows you to deploy and run this code for any purpose, including to make money as
a business, provided you release any changes made to this project.
To clarify, contrary to the BPL that would require you to buy a licence to run this code for a business, you do not have to buy anything here. The cost is that you must release any change you make to this project to the users who access your deployment of your modified version of this codebase.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file provablyfine-0.1.0.tar.gz.
File metadata
- Download URL: provablyfine-0.1.0.tar.gz
- Upload date:
- Size: 186.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbe0f0182588a7a4812c460884b6daa8bbed4f0275cc9d8ce6980c38a93f208f
|
|
| MD5 |
8f89f2690430c83d09acf7a307aa7514
|
|
| BLAKE2b-256 |
4d4e24aa08ec077c03261f8dd64443e8aff170fda6bf5209cad2654db0dfc770
|
Provenance
The following attestation bundles were made for provablyfine-0.1.0.tar.gz:
Publisher:
release.yml on provablyfine/pf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
provablyfine-0.1.0.tar.gz -
Subject digest:
cbe0f0182588a7a4812c460884b6daa8bbed4f0275cc9d8ce6980c38a93f208f - Sigstore transparency entry: 1613247566
- Sigstore integration time:
-
Permalink:
provablyfine/pf@915df00ff4a6d3f07216b7c8248b9a3f7b86ff91 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/provablyfine
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@915df00ff4a6d3f07216b7c8248b9a3f7b86ff91 -
Trigger Event:
push
-
Statement type:
File details
Details for the file provablyfine-0.1.0-py3-none-any.whl.
File metadata
- Download URL: provablyfine-0.1.0-py3-none-any.whl
- Upload date:
- Size: 222.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ad7908b0e5a1327477bb9fd7e2f9caf8c6853b76a963230b18de7c3eafa1329
|
|
| MD5 |
f2b0927b814d7c71e267910db12bc318
|
|
| BLAKE2b-256 |
c5d4a8f7b9245daadacd07c54827e75062e9e1f19a267b79cb72723b95dc7674
|
Provenance
The following attestation bundles were made for provablyfine-0.1.0-py3-none-any.whl:
Publisher:
release.yml on provablyfine/pf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
provablyfine-0.1.0-py3-none-any.whl -
Subject digest:
4ad7908b0e5a1327477bb9fd7e2f9caf8c6853b76a963230b18de7c3eafa1329 - Sigstore transparency entry: 1613247728
- Sigstore integration time:
-
Permalink:
provablyfine/pf@915df00ff4a6d3f07216b7c8248b9a3f7b86ff91 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/provablyfine
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@915df00ff4a6d3f07216b7c8248b9a3f7b86ff91 -
Trigger Event:
push
-
Statement type: