OTE-API (Open Translation Environment) API.
Project description
Open Translation Environment (OTE) API
Run in Docker
Development target
The development target will allow for automatic reloading when source code changes.
This requires that the local directory is bind-mounted using the -v
or --volume
argument.
To build and run the development target from the command line:
docker build --rm -q -f Dockerfile \
--label "ontotrans.oteapi=development" \
--target development \
-t "ontotrans/oteapi-development:latest" .
Production target
The production target will not reload itself on code change and will run a predictable version of the code on port 80.
Also you might want to use a named container with the --restart=always
option to ensure that the container is restarted indefinitely regardless of the exit status.
To build and run the production target from the command line:
docker build --rm -q -f Dockerfile \
--label "ontotrans.oteapi=production" \
-t "ontotrans/oteapi:latest" .
Run redis
Redis with persistance needs to run as a prerequisite to starting oteapi. Redis needs to share the same network as oteapi.
docker network create -d bridge otenet
docker volume create redis-persist
docker run \
--detach \
--name redis \
--volume redis-persist:/data \
--network otenet \
redis:latest
Run oteapi (development)
Run the services by attaching to the otenet network and set the environmental variables for connecting to Redis.
docker run \
--rm \
--network otenet \
--detach \
--volume ${PWD}:/app \
--publish 8080:8080 \
--env REDIS_TYPE=redis \
--env REDIS_HOST=redis \
--env REDIS_PORT=6379 \
ontotrans/oteapi-development:latest
Open the following URL in a browser http://localhost:8080/redoc.
Run the Atmoz SFTP Server
To test the data access via SFTP, the atmoz sftp-server can be run:
docker volume create sftpdrive
docker run \
--detach \
--network=otenet \
--volume sftpdrive:/home/foo/upload \
--publish 2222:22 \
atmoz/sftp foo:pass:1001
Entry points for plugins
Suggestion: Use setuptools entry points to load plugins.
The entry point groups could be named as something like this:
"oteapi.download_strategy"
,"oteapi.filter_strategy"
"oteapi.download"
,"oteapi.filter"
"oteapi.strategy.download"
,"oteapi.strategy.filter"
The value for an entrypoint should then be:
setup(
# ...,
entry_points={
"oteapi.download_strategy": [
"my_plugin.p2p = my_plugin.strategies.download.peer_2_peer",
"my_plugin.mongo = my_plugin.strategies.download.mongo_get",
],
},
)
or as part of a YAML/JSON/setup.cfg setup files as such:
entry_points:
oteapi.download_strategy:
- "my_plugin.p2p = my_plugin.strategies.download.peer_2_peer"
- "my_plugin.mongo = my_plugin.strategies.download.mongo_get"
{
"entry_points": {
"oteapi.download_strategy": [
"my_plugin.p2p = my_plugin.strategies.download.peer_2_peer",
"my_plugin.mongo = my_plugin.strategies.download.mongo_get"
]
}
}
[options.entry_points]
oteapi.download_strategy =
my_plugin.p2p = my_plugin.strategies.download.peer_2_peer
my_plugin.mongo = my_plugin.strategies.download.mongo_get
The plugins will then automagically load all installed strategy module plugins, registering the strategies according to the StrategyFactory
decorator.
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
File details
Details for the file oteapi-core-0.0.1.tar.gz
.
File metadata
- Download URL: oteapi-core-0.0.1.tar.gz
- Upload date:
- Size: 21.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9176b64a6d26a82567f972f22c94248dfafac6671fdce1a5593964b6c4d26248 |
|
MD5 | 02fb00d542a83fd135ed68e3a77b7870 |
|
BLAKE2b-256 | 66732db533fbc0d9b1fd1f91b339847b84d5b41b71e6526ead8d36340ff7c000 |
File details
Details for the file oteapi_core-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: oteapi_core-0.0.1-py3-none-any.whl
- Upload date:
- Size: 37.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 360ea9f458ad8dfd72b57c29c8d759a2d38d51a0201f0c55ae3866c5d743b3c8 |
|
MD5 | 8f8d198a222ed91e8e26d15da4fc8c8c |
|
BLAKE2b-256 | e2439f18eb076c02a2982bc41cd882c12c12c687676152610aba5cd15f8cc3ff |