{"id":16717886,"url":"https://github.com/xoolive/xoolive","last_synced_at":"2026-01-02T14:31:46.118Z","repository":{"id":144804364,"uuid":"325675759","full_name":"xoolive/xoolive","owner":"xoolive","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-30T00:10:18.000Z","size":2139,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-30T02:48:14.405Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xoolive.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-31T00:23:43.000Z","updated_at":"2024-10-30T00:10:21.000Z","dependencies_parsed_at":"2024-03-17T02:14:55.736Z","dependency_job_id":"566d2deb-129c-4090-98b8-7257980dd8cc","html_url":"https://github.com/xoolive/xoolive","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoolive%2Fxoolive","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoolive%2Fxoolive/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoolive%2Fxoolive/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoolive%2Fxoolive/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xoolive","download_url":"https://codeload.github.com/xoolive/xoolive/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243713420,"owners_count":20335567,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T21:34:18.035Z","updated_at":"2026-01-02T14:31:46.112Z","avatar_url":"https://github.com/xoolive.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp\u003e\u003cpre align=\"center\"\u003e\u003cstrong\u003eXavier Olive |\u003c/strong\u003e \u003ca href=\"https://www.xoolive.org\"\u003eHomepage\u003c/a\u003e | \u003ca href=\"https://twitter.com/x00live\"\u003eTwitter\u003c/a\u003e | \u003ca href=\"https://mapstodon.space/@xoolive\"\u003eMastodon\u003c/a\u003e | \u003ca href=\"https://github.com/xoolive\"\u003eGitHub\u003c/a\u003e | \u003ca href=\"https://www.researchgate.net/profile/Xavier-Olive\"\u003eResearchGate\u003c/a\u003e | \u003ca href=\"https://linkedin.com/in/xoolive\"\u003eLinkedIn\u003c/a\u003e | \u003ca href=\"https://stackoverflow.com/users/1595335/xoolive\"\u003eStack Overflow\u003c/a\u003e | \u003ca href=\"https://www.strava.com/athletes/6098259\"\u003eStrava\u003c/a\u003e\u003c/pre\u003e\u003c/p\u003e\n\n\u003c!--img src=\"https://github-readme-stats.vercel.app/api/top-langs/?username=xoolive\u0026layout=compact\u0026exclude_repo=xoolive.github.io\u0026hide=Jupyter%20Notebook,HTML,CSS,SCSS,Makefile,CMake,Vim%20script,TeX\u0026langs_count=8\"\n     alt=\"Programming stats\" align=\"right\"/--\u003e\n\n\u003cimg src=\"https://raw.githubusercontent.com/xoolive/xoolive/main/github-metrics.svg\" alt=\"GitHub metrics\" style=\"width: 400px\" align=\"right\"/\u003e\n     \nI am a **research scientist** at ONERA, the French Aerospace Lab, passionate about **aviation, maps and data**.\n\nMy research interests include Data Science, Machine Learning and Decision Science applied to aviation, with a particular focus on optimisation, anomaly and pattern detection. Applications range from air traffic management, operations, predictive maintenance, safety analyses and risk assessment.\n\nAlthough my main job revolves around academic research, writing proposals and [research papers](https://www.xoolive.org/research), I consider decent software engineering, sharing among peers and with the general public, and reproducibility of results key components of my activity.\n\n## Book\n\n\u003ca href=\"https://www.xoolive.org/python/\"\u003e\n  \u003cimg src=\"https://www.xoolive.org/python/_static/9782100863297.jpg\"\n       alt=\"Programmation Python avancée\" width=\"20%\" align=\"right\"/\u003e\n  \u003cimg src=\"https://www.xoolive.org/python/_static/9782100815982_thumb.jpg\"\n       alt=\"Programmation Python avancée\" width=\"20%\" align=\"right\"/\u003e\n\u003c/a\u003e\n\nI am the author of the Python book (in French) [*Programmation Python avancée*](https://www.xoolive.org/python/) *– Guide pour une pratique élégante et efficace* (ISBN  978-2-10-086329-7), [available](https://amzn.eu/d/g6nXxpe) online (2nd edition)\n\n[![python](https://github-readme-stats.vercel.app/api/pin/?username=xoolive\u0026repo=python\u0026show_owner=false)](https://www.xoolive.org/python)\n\n\u003cimg src=\"https://raw.githubusercontent.com/xoolive/xoolive/main/github-languages.svg\" alt=\"GitHub languages\"/\u003e\n\nI am also one of the main contributors of the (hatching) book [*A journey through aviation data*](https://aviationbook.netlify.app/).\n\n[![python](https://github-readme-stats.vercel.app/api/pin/?username=open-aviation\u0026repo=aviationbook\u0026show_owner=true)]([https://www.xoolive.org/python](https://aviationbook.netlify.app/))\n\n\n## Software libraries\n\nI am the main developper of the [traffic](https://github.com/xoolive/traffic) library suite designed for analysing air traffic trajectory data.  \n\n[![traffic](https://github-readme-stats.vercel.app/api/pin/?username=xoolive\u0026repo=traffic\u0026show_owner=false)](https://github.com/xoolive/traffic)\n[![traffic.js](https://github-readme-stats.vercel.app/api/pin/?username=xoolive\u0026repo=traffic.js\u0026show_owner=false)](https://github.com/xoolive/traffic.js)  \n[![traffic-rs](https://github-readme-stats.vercel.app/api/pin/?username=xoolive\u0026repo=thrust\u0026show_owner=false)](https://github.com/xoolive/thrust)\n\nand one of the initiators of the [tangram](https://github.com/open-aviation/tangram) platform.\n\n[![tangram](https://github-readme-stats.vercel.app/api/pin/?username=open-aviation\u0026repo=tangram\u0026show_owner=true)](https://github.com/open-aviation/tangram)\n\n\nIt heavily relies on more libraries I contribute to:\n\n[![cartes](https://github-readme-stats.vercel.app/api/pin/?username=xoolive\u0026repo=cartes\u0026show_owner=false)](https://github.com/xoolive/cartes)\n[![rs1090](https://github-readme-stats.vercel.app/api/pin/?username=xoolive\u0026repo=jet1090\u0026show_owner=false)](https://github.com/xoolive/jet1090)\n[![pitot](https://github-readme-stats.vercel.app/api/pin/?username=open-aviation\u0026repo=pitot\u0026show_owner=true)](https://github.com/open-aviation/pitot)\n[![pyopensky](https://github-readme-stats.vercel.app/api/pin/?username=open-aviation\u0026repo=pyopensky\u0026show_owner=true)](https://github.com/open-aviation/pyopensky)\n[![ship162](https://github-readme-stats.vercel.app/api/pin/?username=xoolive\u0026repo=ship162\u0026show_owner=false)](https://github.com/xoolive/ship162)\n[![desperado](https://github-readme-stats.vercel.app/api/pin/?username=xoolive\u0026repo=desperado\u0026show_owner=false)](https://github.com/xoolive/desperado)\n[![impunity](https://github-readme-stats.vercel.app/api/pin/?username=achevrot\u0026repo=impunity\u0026show_owner=false)](https://github.com/achevrot/impunity)\n\n## Community and interests\n\n\u003cimg src=\"https://raw.githubusercontent.com/xoolive/xoolive/main/github-stars.svg\" alt=\"GitHub stars\" style=\"width: 50%\"/\u003e\n\n\u003cimg src=\"https://raw.githubusercontent.com/xoolive/xoolive/main/github-stargazers.svg\" alt=\"GitHub stargazers\" style=\"width: 50%\"/\u003e\n\n\n## Teaching materials\n\n[![pyclass](https://github-readme-stats.vercel.app/api/pin/?username=xoolive\u0026repo=pyclass\u0026show_owner=false)](https://github.com/xoolive/pyclass)\n[![optim4ai](https://github-readme-stats.vercel.app/api/pin/?username=xoolive\u0026repo=optim4ai\u0026show_owner=false)](https://github.com/xoolive/optim4ai)\n[![constraints](https://github-readme-stats.vercel.app/api/pin/?username=xoolive\u0026repo=constraints\u0026show_owner=false)](https://github.com/xoolive/constraints)\n\nThe [facile](https://github.com/xoolive/facile) library is a Python binding to a research-oriented constraint satisfaction and optimisation solver originally written in OCaml. The library offers a comfortable syntax for teaching purposes. I wrote a basic [blog post](https://www.xoolive.org/2014/09/20/python-wrapping-for-ocaml-facile-library.html) few years ago to explain the technical *tour de force* it has been to implement a binding between two such different languages.\n\n[![facile](https://github-readme-stats.vercel.app/api/pin/?username=xoolive\u0026repo=facile\u0026show_owner=false)](https://github.com/xoolive/facile)\n\n## Scientific records\n\nAvailable on my [personal website](https://www.xoolive.org/research)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxoolive%2Fxoolive","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxoolive%2Fxoolive","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxoolive%2Fxoolive/lists"}