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.9

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.9
File Size Uploaded
pytheas_simulator-1.5.9.tar.gz 23.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pytheas_simulator 1.5.9
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

1.5.11

2 release files

1.5.10

2 release files

This release

1.5.9 This release

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