{"id":18343721,"url":"https://github.com/nunorc/exopl","last_synced_at":"2025-04-09T21:54:48.506Z","repository":{"id":137587144,"uuid":"285828715","full_name":"nunorc/exopl","owner":"nunorc","description":"a minimalistic tool to illustrate the use of the Y-Space API in a C++ setting","archived":false,"fork":false,"pushed_at":"2020-08-07T16:26:00.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-09T21:54:45.766Z","etag":null,"topics":["cpp","exoplanets"],"latest_commit_sha":null,"homepage":"","language":"C++","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/nunorc.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-08-07T12:53:21.000Z","updated_at":"2020-08-07T16:26:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"4cf80a76-7a9e-45d3-831e-2849436e4f00","html_url":"https://github.com/nunorc/exopl","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/nunorc%2Fexopl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nunorc%2Fexopl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nunorc%2Fexopl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nunorc%2Fexopl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nunorc","download_url":"https://codeload.github.com/nunorc/exopl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248119398,"owners_count":21050754,"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":["cpp","exoplanets"],"created_at":"2024-11-05T20:41:28.400Z","updated_at":"2025-04-09T21:54:48.489Z","avatar_url":"https://github.com/nunorc.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# exopl\n\n**A work in progress..**\n\nA minimalistic tool to illustrate the use of the\n[Y-Space](http://y-space.pw/) API in a C++ setting.\n\nThe `exopl` tool can be used to query the API and perform different\noperations, specified using a command.\nThe goal is to build sequence of commands to perform more complex\noperations, combined with some popular command line tools,\nwhere the output of an operation is passed on as input to the\nnext using pipes.\n\nTo build the tool just clone the repository and:\n\n    $ mkdir build ; cd build\n\t$ cmake ..\n    $ make\n\n[cmake](https://cmake.org/),\n[libcurl](https://curl.haxx.se/libcurl/) and \n[jsoncpp](https://github.com/open-source-parsers/jsoncpp) are\nrequired. The `exopl` binary should be available in the build\ndirectory:\n\n\t$ ./exopl \n\n\tUsage: exopl \u003ccommand\u003e [expr]\n\n\tCommands:\n\t list\t  list all exoplanets\n\t filter\t  filter exoplanets based on a given expreesion\n\t select\t  select parameters when exporting based on a given expression\n\t as_txt\t  print as text\n\t as_csv\t  print as CSV\n\nFor example to get a count of exoplanets by discovery method using a\ncombination of `exopl` and typical bash commands:\n\n\t$ exopl list | exopl select discoverymethod | exopl as_txt | grep -v '^$' | sort | uniq -c\n\t   1 discoverymethod: Astrometry\n\t   1 discoverymethod: Disk Kinematics\n\t  16 discoverymethod: Eclipse Timing Variations\n\t  50 discoverymethod: Imaging\n\t  96 discoverymethod: Microlensing\n\t   6 discoverymethod: Orbital Brightness Modulation\n\t   7 discoverymethod: Pulsar Timing\n\t   2 discoverymethod: Pulsation Timing Variations\n\t 810 discoverymethod: Radial Velocity\n\t3187 discoverymethod: Transit\n\t  21 discoverymethod: Transit Timing Variations\n\nOr for example to get the count of exoplanets discovered by year with an orbital period\ngreater that 10 days:\n\n\t$ exopl list | exopl filter 'pl_orbper\u003e10' | exopl select disc_year | exopl as_txt | grep -v '^$' | sort | uniq -c\n\t   1 disc_year: 1989\n\t   2 disc_year: 1992\n\t   1 disc_year: 1994\n\t   4 disc_year: 1996\n\t   1 disc_year: 1997\n\t   4 disc_year: 1998\n\t  11 disc_year: 1999\n\t  13 disc_year: 2000\n\t  11 disc_year: 2001\n\t  (...)\n\nIt is also useful to create CVS files that can later be imported in other programs.\nFor example to create a CSV file with a list of planets discovered after 2010 that contains\nthe planet name and the orbital period:\n\n\t$ exopl list | exopl filter 'disc_year\u003e2000' | exopl select pl_name,pl_orbper | exopl as_csv \u003e data.csv\n\t$ cat data.csv \n\t11_com_b,11 Com b,326.02999999999997\n\t11_umi_b,11 UMi b,516.21996999999999\n\t14_and_b,14 And b,185.84\n\t14_her_b,14 Her b,1773.40002\n\t18_del_b,18 Del b,993.29999999999995\n\t(...)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnunorc%2Fexopl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnunorc%2Fexopl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnunorc%2Fexopl/lists"}