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_video
property on AstronomyPicture (based onmedia_type
)Add support for thecount
query parameter on/planetary/apod
endpoint to get multiple random imageSolve typing issues withtyping.overload
s 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
nasasync-0.0.2a0.tar.gz
(3.4 MB
view details)
Built Distribution
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 |