diff --git a/README.md b/README.md index 823678bb4d3..c0370fe6619 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

- + OSRD logo @@ -15,43 +15,45 @@ ## What is OSRD? -OSRD is a work in progress tool meant to help design and operate railway infrastructure. -It's built around a simulator, which evaluates a timetable on a given infrastructure. +OSRD is an open source web application for railway infrastructure design, +capacity analysis, timetabling and simulation. It's free and open-source forever! ## WARNING -OSRD is still in the early stages of development. -APIs can and will change (now is the time to make suggestions!). +OSRD it not yet production ready. +User and programming interfaces can and will change (now is the time to make suggestions!). Important features are missing. Documentation is sparse. -Please don't build any serious projects with OSRD unless you are prepared to be broken by API changes. +Please don't rely on OSRD unless you are prepared to deal with frequent changes. ## Getting Started -You'll need: - - Docker - - Docker Compose +To compile and run the application with an example infrastructure: ```sh -docker-compose up -``` - -## Contributing - -If you think OSRD doesn't quite fit your needs yet, but still believe it could, -please [tell us about your needs](https://github.com/DGEXSolutions/osrd/issues/new). +# build and run the entire stack +docker-compose up -d --build -Please consider committing resources to help development if you'd like to use OSRD in production. -Code contributions are very welcome, and we'd love to work together to make this project better. +# generate and load an example infrastructure +python3 -m venv .venv +source .venv/bin/activate +pip install geojson-pydantic +scripts/generate-infra.sh small_infra -## Thanks +# open the web app +xdg-open http://localhost:3000/ +``` -We would like to thank: +## Get in touch - - Bjørnar Steinnes Luteberget, who wrote a very interesting thesis on the matter, - as well as a [pretty impressive prototype](https://github.com/luteberget/junction) +- Chat with us on IRC at [libera.chat#osrd](https://web.libera.chat/#osrd) +- Email us at -## Contact +## Sponsors -You are interested in the project, and you want to know more? Contact us at . +

+ Ministère chargé des Transports + European Union + SNCF Réseau +

diff --git a/assets/sponsors/european-union.svg b/assets/sponsors/european-union.svg new file mode 100644 index 00000000000..d0408b80abc --- /dev/null +++ b/assets/sponsors/european-union.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/sponsors/france-dot.svg b/assets/sponsors/france-dot.svg new file mode 100644 index 00000000000..41903bdff19 --- /dev/null +++ b/assets/sponsors/france-dot.svg @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/sponsors/sncf-reseau.svg b/assets/sponsors/sncf-reseau.svg new file mode 100644 index 00000000000..49c50fc763f --- /dev/null +++ b/assets/sponsors/sncf-reseau.svg @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/scripts/generate-infra.sh b/scripts/generate-infra.sh index 92be5ad3c4e..ee2007f5264 100755 --- a/scripts/generate-infra.sh +++ b/scripts/generate-infra.sh @@ -2,15 +2,18 @@ set -e -cd $(dirname $0)/.. -infra_name=${1:-tiny_infra} -echo Loading $infra_name -python3 core/examples/generated/generate.py /tmp/generated_infras/ > /dev/null +cd "$(dirname "$0")/.." + +infra_name="${1:-small_infra}" + +echo "Loading $infra_name" +python3 core/examples/generated/generate.py /tmp/generated_infras/ docker cp "/tmp/generated_infras/${infra_name}/infra.json" osrd-api:/tmp/infra.json -docker exec osrd-api python manage.py import_railjson "${infra_name}" /tmp/infra.json 2> /dev/null -echo Generate layers -docker exec osrd-editoast editoast generate > /dev/null +docker exec osrd-api python manage.py import_railjson "${infra_name}" /tmp/infra.json + +echo "Generate layers" +docker exec osrd-editoast editoast generate -echo Loading example rolling stock +echo "Loading example rolling stock" docker cp api/static/example_rolling_stock.json osrd-api:/tmp/stock.json -docker exec osrd-api python manage.py import_rolling_stock -f /tmp/stock.json 2> /dev/null +docker exec osrd-api python manage.py import_rolling_stock -f /tmp/stock.json