A python API wrapper for the NASA API
Project description
nasa.py
Work in progressto run the docs use
sphinx-autobuild -a docs/source docs/_build/html --watch nasa --open-browser
Demo
APOD
EPIC
Installation
Currently the package is not available on pypi, this means that you can't install it using just pip.
To install Nasa.py you need to install git and to run this command
.. code-block:: text
pip install git+https://github.com/Snipy7374/nasa.py
Requirements
.. code-block:: text
aiohttp
aiofiles
requests
Basic usage
Create a client object
.. code-block:: python3
import typing as t
from nasa import NasaSyncClient
if t.TYPE_CHECKING:
from nasa import AstronomyPicture
client = NasaSyncClient(token="TOKEN_HERE")
get the todays astronomy picture
.. code-block:: python3
astronomy_picture: AstronomyPicture = client.get_astronomy_picture()
save an image
.. code-block:: python3
astronomy_picture.image.save("image.png")
This library also supports Async requests
.. code-block:: python3
import typing as t
from nasa import NasaAsyncClient
if t.TYPE_CHECKING:
from nasa import AstronomyPicture
client = NasaAsyncClient(token="TOKEN_HERE")
async def main():
async with client:
astronomy_picture: AstronomyPicture = await client.get_astronomy_picture()
await astronomy_picture.image.save("image.png")
Currently supported NASA API endpoints
- APOD (Astronomy picture of the day) -
/planetary/apod- (all query parameters) - EPIC (Earth Polychromatic Imaging Camera) -
/EPIC/api- (all)
TODO
Addis_videoproperty on AstronomyPicture (based onmedia_type)Add support for thecountquery parameter on/planetary/apodendpoint to get multiple random imageSolve typing issues withtyping.overloads onclient.py- Support other endpoints
- Mars rover photos
- NASA image and video library
Add async client & methodsAdd loggingAdd docs :)- Add developing tools
- nox
- pyright
- black
- flake8
- pre-commit
- Add workflows on github
- typing check
- flake8
- black
- Create the first release
- Add package configuration to publish on pypi (pyproject.toml)
- Upload the project on PyPi
- Customize the docs
- add custom colors
- Add examples
- upload on github
- docs: improve the structure of payloads and add Dev docs
- docs: add contributing section
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nasasync-0.0.2a0.tar.gz.
File metadata
- Download URL: nasasync-0.0.2a0.tar.gz
- Upload date:
- Size: 3.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39477ee3fe68923897229b2a18549f988c5a1a6838e95a65fa785c157cebb809
|
|
| MD5 |
7db1cc342d71114346791d2aee691cec
|
|
| BLAKE2b-256 |
2ab10307e7083043adf9157836813645d20b96bf4fa10723fb2322ac5d819ddd
|
File details
Details for the file nasasync-0.0.2a0-py3-none-any.whl.
File metadata
- Download URL: nasasync-0.0.2a0-py3-none-any.whl
- Upload date:
- Size: 17.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c401fda32acb4bae8365ab082e4eb7ffeef05175a365256a91c2e6c6b10cece3
|
|
| MD5 |
50b86301cbd91022b877c800a369bdf2
|
|
| BLAKE2b-256 |
b21125f0bc70f414ee7a662488abc526256d13e134d12049d8c0699d4a9b05f9
|