Skip to main content

DOI PyPI License GitHub last commit

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.

  1. The Extraordinary Voyage of Pytheas the Greek, Barry Cunliffe (2001), Chapter 6. ↩

Metadata

Release files for pytheas_simulator 1.5.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pytheas_simulator 1.5.10
File Size Uploaded
pytheas_simulator-1.5.10.tar.gz 23.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pytheas_simulator 1.5.10
File Interpreter ABI Platform
pytheas_simulator-1.5.10-py3-none-any.whl Python 3 none any Details

Total release size: 47.0 kB

Release files / pytheas_simulator-1.5.10.tar.gz

Download URL pytheas_simulator-1.5.10.tar.gz
Size 23.9 kB
Tags Source
SHA-256 checksum
How to use checksums
2846ad7b986b21b04ff7e6a5b4123984f4a8d3526ff4c6c278d00c5bb13f32b6
BLAKE2b-256 checksum
How to use checksums
7a999b97923bcd33e726dbb498cbcd30287b261c6a42b4195d6019495c0b0b4c
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.10-py3-none-any.whl

Download URL pytheas_simulator-1.5.10-py3-none-any.whl
Size 23.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
42fc05d9597dea042abc21cb54765fde2e9e5de9e1c617a2b75ced14b235071a
BLAKE2b-256 checksum
How to use checksums
5d4afb701bb961b7d36ed0bd363c8f47aa49bf6b7328267294d04a139aea4810
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 history Release notifications | RSS feed

1.5.11

2 release files

This release

1.5.10 This release

2 release files

1.5.9

2 release files

1.5.8

2 release files

1.5.7

2 release files

1.5.6

2 release files

1.5.5

2 release files

1.5.4

2 release files

1.5.3

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page