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 hashes)
Built Distribution
nasasync-0.0.2a0-py3-none-any.whl
(17.4 kB
view hashes)
Close
Hashes for nasasync-0.0.2a0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c401fda32acb4bae8365ab082e4eb7ffeef05175a365256a91c2e6c6b10cece3 |
|
MD5 | 50b86301cbd91022b877c800a369bdf2 |
|
BLAKE2b-256 | b21125f0bc70f414ee7a662488abc526256d13e134d12049d8c0699d4a9b05f9 |