teilen
A simple application to share data via http with python flask backend and react frontend.
Share the contents of a local directory with a single command over the network.
It features
- a lightweight and responsive interface,
- downloads for entire directories as ZIP-files, and
- a simple authentication-system.
See the demo-gallery for some impressions.
Install
teilen can be installed using pip by entering
pip install teilen
It is recommended to use a virtual environment
python3 -m venv venv
source venv/bin/activate
Run
After installing, run the teilen-application with
teilen <path/to/directory>
By default, the web-UI is available at http://localhost:27183.
If you are done, stop by hitting Ctrl+C.
Command line options
-
the last argument to the cli is interpreted as the path to the directory that should be shared, e.g.,
teilen <options> <path/to/directory>omit to share the current working directory
-
-p,--password: (optionally) set a password that is required to access the shareIf the option is set, authentication is required for any content-related endpoints of the
teilen-API. The primary method for authentication is the session-cookie (teilen_session). An alternative authentication method is implemented via a custom request-headerX-Teilen-Auth. -
--port: (optionally) changes the port that the application is running on (default is 27183)
Update
Run
pip install teilen --upgrade
to get the latest version.
Environment configuration
The following environment variables can be set to configure teilen:
WORKING_DIR[DEFAULT <cwd>] path to the shared directory (see also the argument to the cli)PASSWORD[DEFAULT null] optional password to access the share (see also the cli-option-p,--password)PORT[DEFAULT 27183] teilen port (see also the cli-option--port)SECRET_KEY[DEFAULT <random uuid>] secret keyARCHIVE_BUILD_CONCURRENCY[DEFAULT 3] number of concurrent archive built-jobsTMPDIR[DEFAULT <system tmp-directory>] temporary directory where archives are stored
Running in dev-mode
The development setup requires both python3 and the node package manager npm to be installed.
Contrary to the pure python production server, back- and frontend are run separately in the development context.
To run the backend server, enter
cd backend
python3 -m venv venv
source venv/bin/activate
pip install .
pip install -r dev-requirements.txt
MODE=dev flask run
Based on pre-defined scripts, the frontend development server can be started with
cd frontend
npm install
npm start
The client can then be accessed via the node-development server at http://localhost:3000.
Metadata
Release files for teilen 0.6.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| teilen-0.6.1.tar.gz | 86.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| teilen-0.6.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 174.3 kB
Release files / teilen-0.6.1.tar.gz
| Download URL | teilen-0.6.1.tar.gz |
|---|---|
| Size | 86.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cbd07b6dc394cc6f41af15240eac027f2023606deb7586e1a5611cc02b5e013f
|
|
BLAKE2b-256 checksum How to use checksums |
1169a098f175dc4b3b0fd06f1aadac20f92adfaee394051e73aec83770535e14
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / teilen-0.6.1-py3-none-any.whl
| Download URL | teilen-0.6.1-py3-none-any.whl |
|---|---|
| Size | 87.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
955fdc0d7c7b49bbe76b9fa5e814378223704ce34840be32ed6d8fff748e5ee5
|
|
BLAKE2b-256 checksum How to use checksums |
34ac125b7702ae450abb7fcc534da3c0e9cb380aca5404888823e070f43c622f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|