Python data classes and JSON schemata for maritime traffic scenarios.
Project description
maritime-schema
Python package containing data classes and corresponding JSON schemata for common types used in generating traffic scenarios and testing of autonomy
maritime-schema supports
- ..
Installation
pip install .
Usage Example
API:
from maritime_schema import ...
CLI:
maritime-schema ...
For more examples and usage, please refer to maritime-schema's documentation.
Development Setup
-
Install Python 3.9 or higher, i.e. Python 3.10 or Python 3.11
-
Update pip and setuptools:
python -m pip install --upgrade pip setuptools
-
git clone the maritime-schema repository into your local development directory:
git clone https://github.com/dnv-opensource/maritime-schema path/to/your/dev/maritime-schema
-
In the maritime-schema root folder:
Create a Python virtual environment:
python -m venv .venv
Activate the virtual environment:
..on Windows:
> .venv\Scripts\activate.bat
..on Linux:
source .venv/bin/activate
Update pip and setuptools:
(.venv) $ python -m pip install --upgrade pip setuptools
Install maritime-schema's dependencies:
(.venv) $ pip install -r requirements-dev.txt
This should return without errors.
-
Setup your development environment to locate Python source codes:
For example, Visual Studio Code on Windows assumes the Python environment is specified in a
.env
file.
If you are developing and running the Python code from VSCode, make sure to create a.env
file in the maritime-schema root folder with below content.
Set the path forPROJ_DIR
to where your maritime-schema folder is on your system.
Note:.env
is part of.gitignore
, such that you do not commit your.env
file to the repository.PROJ_DIR=<path-to-maritime-schema-root-dir> PYTHONPATH=${PROJ_DIR}/src
-
Test that the installation works (in the maritime-schema root folder):
(.venv) $ pytest .
Meta
Copyright (c) 2024 DNV open source
Author One - @LinkedIn - author.one@dnv.com
Author Two - @LinkedIn - author.two@dnv.com
Claas Rostock - @LinkedIn - claas.rostock@dnv.com
Distributed under the MIT license. See LICENSE for more information.
https://github.com/dnv-opensource/maritime-schema
Contributing
- Fork it (https://github.com/AuthorOne/maritime-schema/fork)
- Create your branch (
git checkout -b my-branch-name
) - Commit your changes (
git commit -am 'place a descriptive commit message here'
) - Push to the branch (
git push origin my-branch-name
) - Create a new Pull Request in GitHub
For your contribution, please make sure you follow the STYLEGUIDE before creating the Pull Request.
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.