{"id":18620479,"url":"https://github.com/simonsobs/tilemaker","last_synced_at":"2025-05-07T08:14:37.545Z","repository":{"id":246431530,"uuid":"804935781","full_name":"simonsobs/tilemaker","owner":"simonsobs","description":"The tilemaker backend for the SO Map viewer.","archived":false,"fork":false,"pushed_at":"2025-02-11T17:30:58.000Z","size":208,"stargazers_count":2,"open_issues_count":10,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-05-07T08:14:27.668Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/simonsobs.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":"2024-05-23T14:57:48.000Z","updated_at":"2025-02-11T17:02:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"4aef7a5e-c529-42c6-82e8-7fad97b33349","html_url":"https://github.com/simonsobs/tilemaker","commit_stats":{"total_commits":27,"total_committers":3,"mean_commits":9.0,"dds":0.2962962962962963,"last_synced_commit":"e969e6d0d4be2c405f531490a62f103f30275b24"},"previous_names":["simonsobs/tilemaker"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsobs%2Ftilemaker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsobs%2Ftilemaker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsobs%2Ftilemaker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsobs%2Ftilemaker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simonsobs","download_url":"https://codeload.github.com/simonsobs/tilemaker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252839330,"owners_count":21812090,"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-11-07T04:06:18.974Z","updated_at":"2025-05-07T08:14:37.159Z","avatar_url":"https://github.com/simonsobs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"TileMaker\n=========\n\nA very simple tile server, backed by a SQL database, for astronomical maps.\n\nThe package includes command-line tools to create databases out\nof astronomical maps, and they can be served using the included FastAPI\nserver.\n\nInstallation and Usage\n----------------------\n\nIt is recommended that you install tilemaker in a virtual environment. You can\neasily manage virtual environments using python's built in `venv` tool or\nusing `uv`. We recommend `uv`.\n\n```\nuv venv venv --python=3.12\nsource venv/bin/activate\nuv pip install tilemaker\n```\n\nOR if you don't ever want to install anything, just:\n\n```\nuv run --python=3.12 --with tilemaker tilemaker $OPTIONS\n```\n\nAll user-driven usage of `tilemaker` is performed using the `tilemaker`\ncommand line utility. More information is available using `tilemaker --help`.\n\nIngesting Data\n--------------\n\nCurrently, we support TWO major types of data ingest.\n\n### IQU Maps\n\nIQU maps in the CAR representation can be ingested using \n\n```\ntilemaker add iqu $FILENAME $NAME\n```\n\nThere are lots more options that can be seen with `tilemaker add iqu --help`. For example:\n\n```\ntilemaker add iqu my_file.fits \"An Example Map\" --intensity-only\n```\n\nTo ingest only the `I` component of the map. Note that the default units are in `uK`, so if your\nmap has un-declared (in the FITS header) kelvin units, you will need to add `--units=K`.\n\n### Catalog Ingest\n\nCatalogs in two major formats can be ingested. CSV and JSON, using\n\n```\ntilemaker add catalog $FILENAME $NAME $DESCRIPTION\n```\n\nfor example\n\n```\ntilemaker add catalog example.json \"Example Catalog\" \"Description of my example catalog\"\n```\n\n#### CSV Layout\n\nCSV files must be in the following format and have extension `.csv`:\n\n```\n# FLUX, RA, DEC\n0.9222,36.03,-18.32\n0.2222,34.22,19.22\n0.9522,26.03,-18.32\n0.2522,24.22,19.22\n```\n\n#### JSON Layout\n\nJSON files must be in the following format and have extension `.json`:\n\n```\n[\n  {\n    \"ra\": 90.222,\n    \"dec\": -12.34,\n    \"flux\": 12.3,\n    \"name\": \"Favourite\"\n  },\n  {\n    \"ra\": 22.222,\n    \"dec\": -19.34,\n    \"flux\": 11.3\n  }\n]\n```\n\n\nViewing Maps\n------------\n\nThe pypi and docker images come pre-built with the frontend. You can run the server with\n\n```\ntilemaker serve --port=8080\n```\n\nwhere the port parameter is optional.\n\n\nSettings\n--------\n\nSettings are configured using a Pydantic settings model, and are defined\nusing configuration variables:\n\n- `$TILEMAKER_DATABASE_URL`, the databse URL for SQLAlchemy.\n   Defaults to `sqlite:///./tilemaker.db`,\n- `$TILEMAKER_ORIGINS`, the list of potential origins for the\n  data source. For example, `\\[\\\"http://localhost\\\"\\,\\ \\\"http://localhost:1234\\\"\\]`\n  may be useful to export this to.\n- `$TILEMAKER_ADD_CORS`, whether or not to add cross-origin support.\n- `$TILEMAKER_API_ENDPOINT`, the endpoint to serve the API from. defaults to\n  `./`.\n- `$TILEMAKER_SERVE_FRONTEND`, a boolean telling you whether or not to serve\n  the frontend. If you are using a pre-packaged setup, you should leave this alone.\n\nTo set up a simple server, no configuration options are required. \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonsobs%2Ftilemaker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonsobs%2Ftilemaker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonsobs%2Ftilemaker/lists"}