{"id":44390029,"url":"https://github.com/spedas/pyspedas","last_synced_at":"2026-02-17T07:59:53.969Z","repository":{"id":37484248,"uuid":"167614292","full_name":"spedas/pyspedas","owner":"spedas","description":"Python-based Space Physics Environment Data Analysis Software","archived":false,"fork":false,"pushed_at":"2026-02-12T08:28:32.000Z","size":140357,"stargazers_count":188,"open_issues_count":162,"forks_count":72,"subscribers_count":12,"default_branch":"master","last_synced_at":"2026-02-12T10:56:23.587Z","etag":null,"topics":["heliophysics","python","science-research","space","space-physics"],"latest_commit_sha":null,"homepage":"https://pyspedas.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/spedas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-01-25T21:11:14.000Z","updated_at":"2026-02-12T08:28:37.000Z","dependencies_parsed_at":"2023-09-29T04:04:08.397Z","dependency_job_id":"97bb413e-cbde-4b35-90c8-f433742a39d9","html_url":"https://github.com/spedas/pyspedas","commit_stats":{"total_commits":2422,"total_committers":37,"mean_commits":65.45945945945945,"dds":0.2947976878612717,"last_synced_commit":"54e7f6cc147c7b2e404dbc81164f8b3fce8ddf52"},"previous_names":[],"tags_count":51,"template":false,"template_full_name":null,"purl":"pkg:github/spedas/pyspedas","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spedas%2Fpyspedas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spedas%2Fpyspedas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spedas%2Fpyspedas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spedas%2Fpyspedas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spedas","download_url":"https://codeload.github.com/spedas/pyspedas/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spedas%2Fpyspedas/sbom","scorecard":{"id":513097,"data":{"date":"2025-08-11","repo":{"name":"github.com/spedas/pyspedas","commit":"cf05a29eaf862ae27a212970357460a73b29c2b9"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.2,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/29 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:28","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:29","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/pythonpackage.yml:1","Warn: no topLevel permission defined: .github/workflows/quick_tests.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: MIT License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/spedas/pyspedas/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/spedas/pyspedas/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/spedas/pyspedas/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/spedas/pyspedas/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pythonpackage.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/spedas/pyspedas/pythonpackage.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pythonpackage.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/spedas/pyspedas/pythonpackage.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/quick_tests.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/spedas/pyspedas/quick_tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/quick_tests.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/spedas/pyspedas/quick_tests.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:30","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:31","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:32","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:33","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:34","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:35","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:36","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:37","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:62","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:63","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:64","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:65","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:66","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:67","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:68","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:70","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:74","Warn: pipCommand not pinned by hash: .github/workflows/quick_tests.yml:26","Warn: pipCommand not pinned by hash: .github/workflows/quick_tests.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/quick_tests.yml:28","Warn: pipCommand not pinned by hash: .github/workflows/quick_tests.yml:29","Warn: pipCommand not pinned by hash: .github/workflows/quick_tests.yml:30","Warn: pipCommand not pinned by hash: .github/workflows/quick_tests.yml:31","Warn: pipCommand not pinned by hash: .github/workflows/quick_tests.yml:32","Warn: pipCommand not pinned by hash: .github/workflows/quick_tests.yml:46","Warn: pipCommand not pinned by hash: .github/workflows/quick_tests.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/quick_tests.yml:48","Warn: pipCommand not pinned by hash: .github/workflows/quick_tests.yml:49","Warn: pipCommand not pinned by hash: .github/workflows/quick_tests.yml:50","Warn: pipCommand not pinned by hash: .github/workflows/quick_tests.yml:51","Warn: pipCommand not pinned by hash: .github/workflows/quick_tests.yml:52","Warn: pipCommand not pinned by hash: .github/workflows/quick_tests.yml:56","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  32 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":3,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'master'","Info: 'force pushes' disabled on branch 'master'","Info: 'branch protection settings apply to administrators' is required to merge on branch 'master'","Warn: could not determine whether codeowners review is allowed","Warn: no status checks found to merge onto branch 'master'","Warn: PRs are not required to make changes on branch 'master'; or we don't have data to detect it.If you think it might be the latter, make sure to run Scorecard with a PAT or use Repo Rules (that are always public) instead of Branch Protection settings"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"SAST","score":7,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 1 commits out of 3 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"12 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-h2x6-5jx5-46hf","Warn: Project is vulnerable to: GHSA-6p56-wp2h-9hxr","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: PYSEC-2020-73","Warn: Project is vulnerable to: PYSEC-2014-14 / GHSA-652x-xj99-gmcc","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: PYSEC-2014-13 / GHSA-cfj3-7x9c-4p3h","Warn: Project is vulnerable to: PYSEC-2018-28 / GHSA-x84v-xcm2-53pg","Warn: Project is vulnerable to: PYSEC-2019-156 / GHSA-xp76-357g-9wqq","Warn: Project is vulnerable to: PYSEC-2023-102","Warn: Project is vulnerable to: PYSEC-2023-114"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-20T01:05:45.097Z","repository_id":37484248,"created_at":"2025-08-20T01:05:45.097Z","updated_at":"2025-08-20T01:05:45.097Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29455658,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T15:52:44.973Z","status":"ssl_error","status_checked_at":"2026-02-14T15:52:11.208Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["heliophysics","python","science-research","space","space-physics"],"created_at":"2026-02-12T02:18:13.814Z","updated_at":"2026-02-14T21:11:53.114Z","avatar_url":"https://github.com/spedas.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# PySPEDAS\n[![build](https://github.com/spedas/pyspedas/workflows/build/badge.svg)](https://github.com/spedas/pyspedas/actions)\n[![Coverage Status](https://coveralls.io/repos/github/spedas/pyspedas/badge.svg)](https://coveralls.io/github/spedas/pyspedas)\n[![Version](https://img.shields.io/pypi/v/pyspedas.svg)](https://pypi.org/project/pyspedas/)\n![Status](https://img.shields.io/pypi/status/pyspedas.svg)\n![License](https://img.shields.io/pypi/l/pyspedas.svg)\n[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)\n\nThe Python-based Space Physics Environment Data Analysis Software (PySPEDAS) framework supports multi-mission, multi-instrument retrieval, analysis, and visualization of heliophysics time series data.\n\n\n## Projects Supported\n- [Advanced Composition Explorer (ACE)](https://pyspedas.readthedocs.io/en/latest/ace.html)\n- [Akebono](https://pyspedas.readthedocs.io/en/latest/akebono.html)\n- [Arase (ERG)](https://pyspedas.readthedocs.io/en/latest/erg.html)\n- [Cluster](https://pyspedas.readthedocs.io/en/latest/cluster.html)\n- [Colorado Student Space Weather Experiment (CSSWE)](https://pyspedas.readthedocs.io/en/latest/csswe.html)\n- [Communications/Navigation Outage Forecasting System (C/NOFS)](https://pyspedas.readthedocs.io/en/latest/cnofs.html)\n- [Deep Space Climate Observatory (DSCOVR)](https://pyspedas.readthedocs.io/en/latest/dscovr.html)\n- [Dynamics Explorer 2 (DE2)](https://pyspedas.readthedocs.io/en/latest/de2.html)\n- [Equator-S](https://pyspedas.readthedocs.io/en/latest/equator-s.html)\n- [Fast Auroral Snapshot Explorer (FAST)](https://pyspedas.readthedocs.io/en/latest/fast.html)\n- [Geotail](https://pyspedas.readthedocs.io/en/latest/geotail.html)\n- [Geostationary Operational Environmental Satellite (GOES)](https://pyspedas.readthedocs.io/en/latest/goes.html)\n- [Imager for Magnetopause-to-Aurora Global Exploration (IMAGE)](https://pyspedas.readthedocs.io/en/latest/image.html)\n- [Kyoto Dst Index](https://pyspedas.readthedocs.io/en/latest/kyoto.html)\n- [LANL](https://pyspedas.readthedocs.io/en/latest/lanl.html)\n- [Mars Atmosphere and Volatile Evolution (MAVEN)](https://pyspedas.readthedocs.io/en/latest/maven.html)\n- [Magnetic Induction Coil Array (MICA)](https://pyspedas.readthedocs.io/en/latest/mica.html)\n- [Magnetospheric Multiscale (MMS)](https://pyspedas.readthedocs.io/en/latest/mms.html)\n- [OMNI](https://pyspedas.readthedocs.io/en/latest/omni.html)\n- [Polar Orbiting Environmental Satellites (POES)](https://pyspedas.readthedocs.io/en/latest/poes.html)\n- [Polar](https://pyspedas.readthedocs.io/en/latest/polar.html)\n- [Parker Solar Probe (PSP)](https://pyspedas.readthedocs.io/en/latest/psp.html)\n- [Solar \u0026 Heliospheric Observatory (SOHO)](https://pyspedas.readthedocs.io/en/latest/soho.html)\n- [Solar Orbiter (SOLO)](https://pyspedas.readthedocs.io/en/latest/solo.html)\n- [Solar Terrestrial Relations Observatory (STEREO)](https://pyspedas.readthedocs.io/en/latest/stereo.html)\n- [Space Technology 5 (ST5)](https://pyspedas.readthedocs.io/en/latest/st5.html)\n- [Spherical Elementary Currents (SECS)](https://github.com/spedas/pyspedas/blob/master/pyspedas/secs/README.md)\n- [Swarm](https://github.com/spedas/pyspedas/blob/master/pyspedas/swarm/README.md)\n- [Time History of Events and Macroscale Interactions during Substorms (THEMIS)](https://pyspedas.readthedocs.io/en/latest/themis.html)\n- [Two Wide-Angle Imaging Neutral-Atom Spectrometers (TWINS)](https://pyspedas.readthedocs.io/en/latest/twins.html)\n- [Ulysses](https://pyspedas.readthedocs.io/en/latest/ulysses.html)\n- [Van Allen Probes (RBSP)](https://pyspedas.readthedocs.io/en/latest/rbsp.html)\n- [Wind](https://pyspedas.readthedocs.io/en/latest/wind.html)\n\n\n## Requirements\n\nPython 3.10+ is required.\n\nWe recommend [Anaconda](https://www.continuum.io/downloads/), which gives you a relatively easy way to manage your \nPython installations, and comes with a suite of packages useful for scientific data \nanalysis. Step-by-step instructions for installing Anaconda can be found at:\n[Windows](https://docs.anaconda.com/anaconda/install/windows/), [macOS](https://docs.anaconda.com/anaconda/install/mac-os/), [Linux](https://docs.anaconda.com/anaconda/install/linux/)\n\nAnaconda is not a requirement - if you prefer to download and install Python directly from python.org,\nand manage your own virtual environments, PySPEDAS will work just fine.  However, some PySPEDAS\ndependencies may be hard to install cleanly via 'pip', and it's nice to have the option of trying\n'conda install', which is one reason that we recommend installing Python with Anaconda.\n\nMost people prefer to use a Python IDE like PyCharm, Visual Studio Code, Spyder, etc. to\ndo their Python programming. Each IDE has its own way of setting up Python environments for\nyour projects, so please consult the documentation for your preferred tool set.\n\n\n## Installation\n\n### Virtual Environment\nTo avoid potential dependency conflicts with other Python packages, we suggest creating \na virtual environment for PySPEDAS; you can create a virtual environment in your terminal \nwith:\n\n```bash\npython -m venv pyspedas\n```\n\nTo enter your virtual environment, run the 'activate' script:\n\n#### Windows\n\n```bash\n.\\pyspedas\\Scripts\\activate\n```\n\n#### macOS and Linux\n\n```bash\nsource pyspedas/bin/activate\n```\n\n#### Using Jupyter notebooks with your virtual environment\n\nTo get virtual environments working with Jupyter, in the virtual environment, type:\n\n```bash\npip install ipykernel\npython -m ipykernel install --user --name pyspedas --display-name \"Python (pySPEDAS)\"\n```\n\n(note: \"pyspedas\" is the name of your virtual environment)\n\nThen once you open the notebook, go to \"Kernel\" then \"Change kernel\" and select the one named \"Python (PySPEDAS)\"\n\n### Install\n\nWith the release of PySPEDAS 2.0, PySPEDAS has a number of dependencies that are now optional.  That can make it \neasier to install on platforms that may not have binary wheels available for certain dependencies.  There\nare additional dependencies that are only useful for developing and maintaining PySPEDAS itself.\n\nPySPEDAS supports Windows, macOS and Linux. To get started, install the `pyspedas` package using PyPI:\n\n```bash\npip install pyspedas\n```\n\n### Upgrade\n\nTo upgrade to the latest version of PySPEDAS:\n\n```bash\npip install pyspedas --upgrade\n```\n\n\n## Local Data Directories\n\nThe recommended way of setting your local data directory is to set the `SPEDAS_DATA_DIR` environment variable. `SPEDAS_DATA_DIR` acts as a root data directory for all missions, and will also be used by IDL (if you’re running a recent copy of the bleeding edge).\n\nMission specific data directories (e.g., `MMS_DATA_DIR` for MMS, `THM_DATA_DIR` for THEMIS) can also be set, and these will override `SPEDAS_DATA_DIR`\n\n## Cloud Repositories\n\n`SPEDAS_DATA_DIR` and mission specific data directories can also be the URI of a cloud repository (e.g., an S3 repository). If this data directory is set to an URI, files will be downloaded from the data server to the URI location. The data will then be streamed from the URI without needing to download the file locally. \n\nIn order to successfully access the specified cloud repository, the user is required to correctly set up permissions to be able to read and write to that cloud repository on their own. Refer (here)[https://docs.aws.amazon.com/cli/v1/userguide/cli-configure-files.html] for how to prepare your AWS configuration and credentials.\n\n## Usage\n\nYou can load data into tplot variables by calling `pyspedas.projects.mission.instrument()`, e.g.,\n\nTo load and plot 1 day of THEMIS FGM data for probe 'd':\n```python\nimport pyspedas\nfrom pyspedas import tplot\n\nthm_fgm = pyspedas.projects.themis.fgm(trange=['2015-10-16', '2015-10-17'], probe='d')\n\ntplot(['thd_fgs_gse', 'thd_fgs_gsm'])\n```\n\nThe above example used the fully qualified load routine name `pyspedas.projects.themis.fgm`.\nIt is also possible to use abbreviated names by importing them from the appropriate mission module:\n\nTo load and plot 2 minutes of MMS burst mode FGM data:\n```python\nfrom pyspedas.projects.mms import fgm\nfrom pyspedas import tplot\n\nmms_fgm = fgm(trange=['2015-10-16/13:05:30', '2015-10-16/13:07:30'], data_rate='brst')\n\ntplot(['mms1_fgm_b_gse_brst_l2', 'mms1_fgm_b_gsm_brst_l2'])\n```\n\nNote: by default, PySPEDAS loads all data contained in CDFs found within the requested time range; this can potentially load data outside of your requested trange. To remove the data outside of your requested trange, set the `time_clip` keyword to `True`\n\nTo load and plot 6 hours of PSP SWEAP/SPAN-i data:\n```python\nimport pyspedas\nfrom pyspedas import tplot\n\nspi_vars = pyspedas.projects.psp.spi(trange=['2018-11-5', '2018-11-5/06:00'], time_clip=True)\n\ntplot(['DENS', 'VEL', 'T_TENSOR', 'TEMP'])\n```\n\nTo download 5 days of STEREO magnetometer data (but not load them into tplot variables):\n```python\nimport pyspedas\n\nstereo_files = pyspedas.projects.stereo.mag(trange=['2013-11-1', '2013-11-6'], downloadonly=True)\n```\n\n### Standard Load Routine Options\n- `trange`: two-element list specifying the time range of interest. This keyword accepts a wide range of formats\n- `time_clip`: if set, clip the variables to the exact time range specified by the `trange` keyword\n- `suffix`: string specifying a suffix to append to the loaded variables\n- `varformat`: string specifying which CDF variables to load; accepts the wild cards * and ?\n- `varnames`: string specifying which CDF variables to load (exact names)\n- `get_support_data`: if set, load the support variables from the CDFs\n- `downloadonly`: if set, download the files but do not load them into tplot\n- `no_update`: if set, only load the data from the local cache\n- `notplot`: if set, load the variables into dictionaries containing numpy arrays (instead of creating the tplot variables)\n\n\n## Examples\nPlease see the following notebooks for examples of using PySPEDAS\n\n### PyTplot Basics\n- [Introduction to PyTplot](https://github.com/spedas/pyspedas_examples/blob/master/pyspedas_examples/notebooks/Introduction_to_PyTplot.ipynb)\n\n### Loading Data\n- [MMS examples](https://github.com/spedas/mms-examples/tree/master/basic)\n- [THEMIS examples](https://github.com/spedas/themis-examples/tree/main/basic)\n- [Load data from HAPI servers](https://github.com/spedas/pyspedas_examples/blob/master/pyspedas_examples/notebooks/PySPEDAS_loading_data_from_HAPI_servers.ipynb)\n- [Exploring the Heliosphere with Python](https://github.com/spedas/pyspedas_examples/blob/master/pyspedas_examples/notebooks/Exploring_the_Heliosphere_with_Python.ipynb)\n\n### Plotting\n- [Annotations](https://github.com/spedas/pyspedas_examples/blob/master/pyspedas_examples/notebooks/PyTplot_annotations.ipynb)\n- [Range options](https://github.com/spedas/pyspedas_examples/blob/master/pyspedas_examples/notebooks/PyTplot_range_options.ipynb)\n- [Spectrogram options](https://github.com/spedas/pyspedas_examples/blob/master/pyspedas_examples/notebooks/PyTplot_spectrogram_options.ipynb)\n- [Legend options](https://github.com/spedas/pyspedas_examples/blob/master/pyspedas_examples/notebooks/PyTplot_legend_options.ipynb)\n- [Markers and symbols](https://github.com/spedas/pyspedas_examples/blob/master/pyspedas_examples/notebooks/PyTplot_markers_and_symbols.ipynb)\n- [Error bars](https://github.com/spedas/pyspedas_examples/blob/master/pyspedas_examples/notebooks/PyTplot_error_bars.ipynb)\n- [Pseudo variables](https://github.com/spedas/pyspedas_examples/blob/master/pyspedas_examples/notebooks/PyTplot_pseudo_variables.ipynb)\n- [Highlight intervals and vertical bars](https://github.com/spedas/pyspedas_examples/blob/master/pyspedas_examples/notebooks/PyTplot_highlight_intervals_and_vertical_bars.ipynb)\n\nAdditional examples of loading and plotting data can be found in the documentation for the project you're interested in ([PySPEDAS projects](https://pyspedas.readthedocs.io/en/latest/projects.html)), as well as the project's README file.\n\n### Dates and Times\n- [Working with dates and times](https://github.com/spedas/pyspedas_examples/blob/master/pyspedas_examples/notebooks/Working_with_dates_and_times_with_PySPEDAS_PyTplot.ipynb)\n\n### Coordinate Transformations\n- [Coordinate transformations](https://github.com/spedas/pyspedas_examples/blob/master/pyspedas_examples/notebooks/Coordinate_transformations_with_OMNI_data.ipynb)\n- [Boundary normal (LMN) coordinates](https://github.com/spedas/mms-examples/blob/master/advanced/MMS_LMN_coordinate_transformation.ipynb)\n- [Quaternion transformations with SpacePy](https://github.com/spedas/mms-examples/blob/master/basic/MMS_quaternion_coordinate_transformations.ipynb)\n\n### Analysis\n- [Plasma calculations with PlasmaPy](https://github.com/spedas/mms-examples/blob/master/advanced/Plasma%20calculations%20with%20PlasmaPy.ipynb)\n- [Poynting flux with MMS data](https://github.com/spedas/mms-examples/blob/master/advanced/Poynting_flux_with_MMS_data.ipynb)\n- [Plasma beta with MMS data](https://github.com/spedas/mms-examples/blob/master/basic/Plasma%20Beta%20with%20FGM%20and%20FPI%20data.ipynb) (note: the PlasmaPy notebook above shows a much easier method)\n- [Curlometer calculations](https://github.com/spedas/mms-examples/blob/master/basic/Curlometer%20Technique.ipynb)\n- [Neutral sheet models](https://github.com/spedas/mms-examples/blob/master/advanced/MMS_neutral_sheet_models.ipynb)\n- [Wave polarization calculations](https://github.com/spedas/mms-examples/blob/master/advanced/Wave_polarization_using_SCM_data.ipynb)\n- [Dynamic power spectra calculations](https://github.com/spedas/mms-examples/blob/master/basic/Search-coil%20Magnetometer%20(SCM).ipynb)\n- [2D slices of MMS distribution functions](https://github.com/spedas/mms-examples/blob/master/advanced/Generate_2D_slices_of_FPI_and_HPCA_data.ipynb)\n- [Generating spectrograms and moments from MMS distribution functions](https://github.com/spedas/mms-examples/blob/master/advanced/Generate%20spectrograms%20and%20moments%20with%20mms_part_getspec.ipynb)\n\n\n## Documentation\nFor more information, please see our HTML documentation at:\n\nhttps://pyspedas.readthedocs.io/\n\n\n## Getting Help\nTo find the options supported, call `help` on the instrument function you're interested in:\n```python\nimport pyspedas\n\nhelp(pyspedas.projects.themis.fgm)\n```\n\nTo find PySPEDAS routine names by a keyword search, use the `libs` command (similar to the one found in IDL SPEDAS.)\n\n```python\nimport pyspedas\nfrom pyspedas import libs\n\n# Find all PySPEDAS routine names containing the given string\nlibs('fgm')\n\n# If you don't know the exact spelling, you can use wildcard characters * and ? in the search pattern:\nlibs('wav*pol')\n\n```\nYou can ask questions by creating an issue here on Github, by joining the [SPEDAS mailing list](http://spedas.org/mailman/listinfo/spedas-list_spedas.org),\nor by emailing the project maintainers at jwl@ssl.berkeley.edu .\n\n\n## PyTplot\n\nPrevious releases of PySPEDAS depended on the external pytplot or pytplot-mpl-temp Python packages.\nStarting with PySPEDAS 2.0, these external packages are no longer required -- their functionality is now\nincluded directly in PySPEDAS.\n\n## Contributing\nWe welcome contributions to PySPEDAS; to learn how you can contribute, please see our [Contributing Guide](https://github.com/spedas/pyspedas/blob/master/CONTRIBUTING.md)\n\n\n## Plug-in Development\nAn introduction to PySPEDAS plug-in development can be found here:\n\n[Introduction to PySPEDAS plug-in development](https://github.com/spedas/pyspedas/tree/master/docs/pyspedas_plugin_development.pdf)\n\n\n## Code of Conduct\nIn the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. To learn more, please see our [Code of Conduct](https://github.com/spedas/pyspedas/blob/master/CODE_OF_CONDUCT.md).\n\n\n## Additional Information\n\nFor examples of pyspedas, see: https://github.com/spedas/pyspedas_examples\n\nFor MMS examples, see: https://github.com/spedas/mms-examples\n\nFor cdflib, see: https://github.com/MAVENSDC/cdflib\n\nFor SPEDAS, see http://spedas.org/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspedas%2Fpyspedas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspedas%2Fpyspedas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspedas%2Fpyspedas/lists"}