Pytheas Simulator - a flexible and agile simulator of ancient seafaring
Current research in the Maritime Encounters project, at the University of Gothenburg, has been led by using and developing the software Voyager. While this software is very complete and thorough, it can be difficult to maintain and develop due to the many components that it uses. I decided to write a version of the code that is more flexible and less complex to use, based on my own experiences in simulating seafaring in ancient times. This software is an improvement on the work by Alvaro Montenegro (Ohio State University) and Victor Wåhlstrand Skärström (University of Gothenburg, now at Chalmers University of Technology). The code is written in Python.
The package is now available on PyPI and can be installed via
python -m pip install pytheas_simulator
Tutorial
To use the tutorial on this repository (in the folder ./tutorial/), it will be enough to install pyhteas_simulator, after downloading this repository on your computer. When installing the package, all the dependencies will be downloaded along with it. You can easily set up an environment using your favorite virtual environment manager, e.g.
mamba create -n pytheasenvironment python==3.14
mamba activate pytheasenvironment
python -m pip install pytheas_simulator
and all should be ready to go. I wrote two types of tutorial:
./tutorial/vignette.ipynb: a Jupyter notebook explaining step by step how to build a simulation./tutorial/simulation.py: a script showing how to launch a larger simulation with multiple dates
For the tutorial I made available data from the Copernicus Data Center, using July 1996 as an example. Additionally I made available scripts (/.tutorial/data/import_currents-waves.py and /.tutorial/data/import_winds.py) so that you can download data directly on your computer from Copernicus (you will need a login for this, please see the tutorial notebook, or find information on Copernicus website directly).
Development philosophy
The code for Voyager was documented but had no tests. In the development of this new software, it is my intention to have even better documentation as well as unit testing. This follows from years of working in an academic context where tests are an afterthought and are seldom developed. But when using a software developed over years, by developers who have since quit the workplace, and that has required quick developments to respond to publication deadlines, the lack of testing in particular has proven deleterious, leading to bad mistakes at the production stage.
Name of the software
I decided to name this new iteration of the Voyager software "Pytheas". As a software engineer, this is of course a (bad) pun on the fact that the software was developed in Python. But as an archaeologist, Pytheas was an ancient Greek navigator from Massalia (modern Marseille) who in around 330 BCE went on a sailing travel to the far North of Europe, reaching the British Isles and travelling further north to Ultima Thule (which may be, according to Barry Cunliffe1, most probably Iceland, but possibly Norway or Shetland). Pytheas' travel has been source of inspiration and marvel for more than 2000 years.
License
This software is packaged with a MIT License.
-
The Extraordinary Voyage of Pytheas the Greek, Barry Cunliffe (2001), Chapter 6. ↩
Metadata
Release files for pytheas_simulator 1.5.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pytheas_simulator-1.5.9.tar.gz | 23.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pytheas_simulator-1.5.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 46.9 kB
Release files / pytheas_simulator-1.5.9.tar.gz
| Download URL | pytheas_simulator-1.5.9.tar.gz |
|---|---|
| Size | 23.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9e162ea29e8616e232f6744c6f06e6b72041607bd3c48bbfd58e1d355e7aca7f
|
|
BLAKE2b-256 checksum How to use checksums |
e8d10d07bf6c23577a1831db1b80589c2b44dd846872c6c5a3d66d09bf465339
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.16.4 cpython/3.14.8 HTTPX/0.28.1
|
Release files / pytheas_simulator-1.5.9-py3-none-any.whl
| Download URL | pytheas_simulator-1.5.9-py3-none-any.whl |
|---|---|
| Size | 23.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f48fb952141724ad438253b6c0991711bcd94b860b9247db78560b81ddf72940
|
|
BLAKE2b-256 checksum How to use checksums |
1d52381de542dc7808eb8c09d470f2ade90c2fcbb22e7938e80d90de8f3ebe3d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.16.4 cpython/3.14.8 HTTPX/0.28.1
|