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

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

Built distribution (wheel)

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

Total release size: 47.0 kB

Release files / pytheas_simulator-1.5.11.tar.gz

Download URL pytheas_simulator-1.5.11.tar.gz
Size 23.9 kB
Tags Source
SHA-256 checksum
How to use checksums
d8cdc5082dec40b35ab7ff338270cd9ca80c9ce5f0563a6288647e46d0fa1c48
BLAKE2b-256 checksum
How to use checksums
a1510bb5a2e9aa398ff5a231bc226f4fd50bf65b19486de8dc502c7c180d53fc
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.11-py3-none-any.whl

Download URL pytheas_simulator-1.5.11-py3-none-any.whl
Size 23.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
65e51dfe251711fb9737dec08551745a6306172f9c117039eacb5b1238e02747
BLAKE2b-256 checksum
How to use checksums
ccdcb917b2e6e1dc11fea1b570d5f1cc7dc023509497e03b587b211f71b685de
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

This release

1.5.11 This release

2 release files

1.5.10

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