{"id":19898941,"url":"https://github.com/torchspatiotemporal/tsl","last_synced_at":"2025-05-15T11:06:21.815Z","repository":{"id":38204486,"uuid":"469502885","full_name":"TorchSpatiotemporal/tsl","owner":"TorchSpatiotemporal","description":"tsl: a PyTorch library for processing spatiotemporal data.","archived":false,"fork":false,"pushed_at":"2025-03-29T18:19:48.000Z","size":998,"stargazers_count":332,"open_issues_count":21,"forks_count":35,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-05-15T11:06:20.834Z","etag":null,"topics":["deep-learning","gnn","graph-neural-networks","pytorch","spatio-temporal","spatio-temporal-analysis","spatio-temporal-data","spatio-temporal-graph","spatio-temporal-prediction","spatiotemporal","spatiotemporal-data","spatiotemporal-data-analysis","spatiotemporal-forecasting","temporal-data","temporal-graphs"],"latest_commit_sha":null,"homepage":"https://torch-spatiotemporal.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TorchSpatiotemporal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-03-13T21:46:01.000Z","updated_at":"2025-05-09T12:38:54.000Z","dependencies_parsed_at":"2023-02-10T10:31:15.205Z","dependency_job_id":"a5203b6b-50e6-4466-81a8-e3f8fe608e3b","html_url":"https://github.com/TorchSpatiotemporal/tsl","commit_stats":{"total_commits":179,"total_committers":6,"mean_commits":"29.833333333333332","dds":0.4189944134078212,"last_synced_commit":"8d8bc9014252c178522f27ce3f42b2e184028ff7"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TorchSpatiotemporal%2Ftsl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TorchSpatiotemporal%2Ftsl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TorchSpatiotemporal%2Ftsl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TorchSpatiotemporal%2Ftsl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TorchSpatiotemporal","download_url":"https://codeload.github.com/TorchSpatiotemporal/tsl/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254328385,"owners_count":22052632,"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":["deep-learning","gnn","graph-neural-networks","pytorch","spatio-temporal","spatio-temporal-analysis","spatio-temporal-data","spatio-temporal-graph","spatio-temporal-prediction","spatiotemporal","spatiotemporal-data","spatiotemporal-data-analysis","spatiotemporal-forecasting","temporal-data","temporal-graphs"],"created_at":"2024-11-12T20:06:32.157Z","updated_at":"2025-05-15T11:06:21.793Z","avatar_url":"https://github.com/TorchSpatiotemporal.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cbr\u003e\u003cbr\u003e\n    \u003cimg alt=\"Torch Spatiotemporal\" src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/tsl_logo_text.svg\" width=\"85%\"/\u003e\n    \u003ch3\u003eNeural spatiotemporal forecasting with PyTorch\u003c/h3\u003e\n    \u003chr\u003e\n    \u003cp\u003e\n    \u003ca href='https://pypi.org/project/torch-spatiotemporal/'\u003e\u003cimg alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/torch-spatiotemporal\"\u003e\u003c/a\u003e\n    \u003cimg alt=\"PyPI - Python Version\" src=\"https://img.shields.io/badge/python-%3E%3D3.8-blue\"\u003e\n    \u003c!-- img alt=\"PyPI - Python Version\" src=\"https://img.shields.io/pypi/pyversions/torch-spatiotemporal\" --\u003e\n    \u003cimg alt=\"Total downloads\" src=\"https://static.pepy.tech/badge/torch-spatiotemporal\"\u003e\n    \u003ca href='https://torch-spatiotemporal.readthedocs.io/en/latest/?badge=latest'\u003e\u003cimg src='https://readthedocs.org/projects/torch-spatiotemporal/badge/?version=latest' alt='Documentation Status' /\u003e\u003c/a\u003e\n    \u003c/p\u003e\n    \u003cp\u003e\n    🚀 \u003ca href=\"https://torch-spatiotemporal.readthedocs.io/en/latest/usage/quickstart.html\"\u003eGetting Started\u003c/a\u003e - 📚 \u003ca href=\"https://torch-spatiotemporal.readthedocs.io/en/latest/\"\u003eDocumentation\u003c/a\u003e - 💻 \u003ca href=\"https://torch-spatiotemporal.readthedocs.io/en/latest/notebooks/a_gentle_introduction_to_tsl.html\"\u003eIntroductory notebook\u003c/a\u003e\n    \u003c/p\u003e\n\u003c/div\u003e\n\n\u003cp\u003e\u003cimg src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/tsl_logo.svg\" width=\"25px\" align=\"center\"/\u003e \u003cb\u003etsl\u003c/b\u003e \u003cem\u003e(Torch Spatiotemporal)\u003c/em\u003e is a library built to accelerate research on neural spatiotemporal data processing\nmethods, with a focus on Graph Neural Networks.\u003c/p\u003e\n\n\u003cp\u003eBuilt upon popular libraries such as \u003cimg src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/logos/pytorch.svg\" width=\"20px\" align=\"center\"/\u003e \u003ca href=\"https://pytorch.org\"\u003e\u003cb\u003ePyTorch\u003c/b\u003e\u003c/a\u003e, \u003cimg src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/logos/pyg.svg\" width=\"20px\" align=\"center\"/\u003e \u003ca href=\"https://pyg.org\"\u003ePyG\u003c/a\u003e (PyTorch Geometric), and \u003cimg src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/logos/lightning.svg\" width=\"20px\" align=\"center\"/\u003e \u003ca href=\"https://www.pytorchlightning.ai/\"\u003ePyTorch Lightning\u003c/a\u003e, \u003cimg src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/tsl_logo.svg\" width=\"25px\" align=\"center\"/\u003e tsl provides a unified and user-friendly framework for efficient neural spatiotemporal data processing, that goes from data preprocessing to model prototyping.\u003c/p\u003e\n\n## Features\n\n* **Create Custom Models and Datasets**\u0026nbsp;\u0026nbsp; Easily build your own custom models and datasets for spatiotemporal data analysis. Whether you're working with sensor networks, environmental data, or any other spatiotemporal domain, \u003cimg src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/tsl_logo.svg\" width=\"25px\" align=\"center\"/\u003e tsl's high-level APIs empower you to develop tailored solutions.\n\n* **Access a Wealth of Existing Datasets and Models**\u0026nbsp;\u0026nbsp; Leverage a vast collection of datasets and models from the spatiotemporal data processing literature. Explore and benchmark against state-of-the-art baselines, and test your brand new model on widely used public datasets.\n\n* **Handle Irregularities and Missing Data**\u0026nbsp;\u0026nbsp; Seamlessly manage irregularities in your spatiotemporal data streams, including missing data and variations in network structures. Ensure the robustness and reliability of your data processing pipelines.\n\n* **Streamlined Preprocessing**\u0026nbsp;\u0026nbsp; Automate the preprocessing phase with \u003cimg src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/tsl_logo.svg\" width=\"25px\" align=\"center\"/\u003e tsl's methods for scaling, resampling and clustering time series. Spend less time on data preparation and focus on extracting meaningful patterns and insights.\n\n* **Efficient Data Structures**\u0026nbsp;\u0026nbsp; Utilize \u003cimg src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/tsl_logo.svg\" width=\"25px\" align=\"center\"/\u003e tsl's straightforward data structures, seamlessly integrated with \u003cimg src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/logos/pytorch.svg\" width=\"20px\" align=\"center\"/\u003e PyTorch and \u003cimg src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/logos/pyg.svg\" width=\"20px\" align=\"center\"/\u003e PyG, to accelerate your workflows. Benefit from the flexibility and compatibility of these widely adopted libraries.\n\n* **Scalability with PyTorch Lightning**\u0026nbsp;\u0026nbsp; Scale your computations effortlessly, from a single CPU to clusters of GPUs, with \u003cimg src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/tsl_logo.svg\" width=\"25px\" align=\"center\"/\u003e tsl's integration with \u003cimg src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/logos/lightning.svg\" width=\"20px\" align=\"center\"/\u003e PyTorch Lightning. Accelerate training and inference across various hardware configurations.\n\n* **Modular Neural Layers**\u0026nbsp;\u0026nbsp; Build powerful and modular neural spatiotemporal models using \u003cimg src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/tsl_logo.svg\" width=\"25px\" align=\"center\"/\u003e tsl's collection of specialized layers. Create architectures with ease, leveraging the flexibility and extensibility of the library.\n\n* **Reproducible Experiments**\u0026nbsp;\u0026nbsp; Ensure experiment reproducibility using the \u003cimg src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/logos/hydra.svg\" width=\"25px\" align=\"center\"/\u003e \u003ca href=\"https://hydra.cc/\"\u003eHydra\u003c/a\u003e framework, a standard in the field. Validate and compare results confidently, promoting rigorous research in spatiotemporal data mining.\n\n## Getting Started\n\nBefore you start using \u003cimg src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/tsl_logo.svg\" width=\"25px\" align=\"center\"/\u003e tsl, please review the \u003ca href=\"https://torch-spatiotemporal.readthedocs.io/en/latest/\"\u003edocumentation\u003c/a\u003e to get an understanding of the library and its capabilities.\n\nYou can also explore the examples provided in the `examples` directory to see how train deep learning models working with spatiotemporal data.\n\n## Installation\n\nBefore installing \u003cimg src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/tsl_logo.svg\" width=\"25px\" align=\"center\"/\u003e tsl, make sure you have installed \u003cimg src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/logos/pytorch.svg\" width=\"20px\" align=\"center\"/\u003e \u003ca href=\"https://pytorch.org\"\u003ePyTorch\u003c/a\u003e (\u003e=1.9.0) and \u003cimg src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/logos/pyg.svg\" width=\"20px\" align=\"center\"/\u003e \u003ca href=\"https://pyg.org\"\u003ePyG\u003c/a\u003e (\u003e=2.0.3) in your virtual environment (see [PyG installation guidelines](https://pytorch-geometric.readthedocs.io/en/latest/install/installation.html)). \u003cimg src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/tsl_logo.svg\" width=\"25px\" align=\"center\"/\u003e tsl is available for Python\u003e=3.8. We recommend installation from github to be up-to-date with the latest version:\n\n```bash\npip install git+https://github.com/TorchSpatiotemporal/tsl.git\n```\n\nAlternatively, you can install the library from the pypi repository:\n\n```bash\npip install torch-spatiotemporal\n```\n\nTo avoid dependencies issues, we recommend using [Anaconda](https://www.anaconda.com/) and the provided environment configuration by running the command:\n\n```bash\nconda env create -f conda_env.yml\n```\n\n## Tutorial\n\nThe best way to start using \u003cimg src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/tsl_logo.svg\" width=\"25px\" align=\"center\"/\u003e tsl is by following the tutorial notebook in `examples/notebooks/a_gentle_introduction_to_tsl.ipynb`.\n\n## Documentation\n\nVisit the [documentation](https://torch-spatiotemporal.readthedocs.io/en/latest/) to learn more about the library, including detailed API references, examples, and tutorials.\n\nThe documentation is hosted on [readthedocs](https://torch-spatiotemporal.readthedocs.io/en/latest/). For local access, you can build it from the `docs` directory.\n\n## Contributing\n\nContributions are welcome! For major changes or new features, please open an issue first to discuss your ideas. See the [Contributing guidelines](https://github.com/TorchSpatiotemporal/tsl/blob/dev/.github/CONTRIBUTING.md) for more details on how to get involved. Help us build a better \u003cimg src=\"https://raw.githubusercontent.com/TorchSpatiotemporal/tsl/main/docs/source/_static/img/tsl_logo.svg\" width=\"25px\" align=\"center\"/\u003e tsl!\n\nThanks to all contributors! 🧡\n\n\u003ca href=\"https://github.com/TorchSpatiotemporal/tsl/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=TorchSpatiotemporal/tsl\" /\u003e\n\u003c/a\u003e\n\n## Citing\n\nIf you use Torch Spatiotemporal for your research, please consider citing the library\n\n```latex\n@software{Cini_Torch_Spatiotemporal_2022,\n    author = {Cini, Andrea and Marisca, Ivan},\n    license = {MIT},\n    month = {3},\n    title = {{Torch Spatiotemporal}},\n    url = {https://github.com/TorchSpatiotemporal/tsl},\n    year = {2022}\n}\n```\n\nBy [Andrea Cini](https://andreacini.github.io/) and [Ivan Marisca](https://marshka.github.io/).\n\n## License\n\nThis project is licensed under the terms of the MIT license. See the [LICENSE](https://github.com/TorchSpatiotemporal/tsl/blob/main/LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftorchspatiotemporal%2Ftsl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftorchspatiotemporal%2Ftsl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftorchspatiotemporal%2Ftsl/lists"}