Pybuoy

Latest version: v0.5.6

Safety actively analyzes 682361 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

0.5.0

------------------

Buoy
~~~~

- **Forecasts**: ``get`` returns an iterable ``ForecastObservations`` object. The type of
iterable provided is ``ForecastObservation``.

Internal
~~~~~~~~

- Bump certifi to 2022.12.07. (CVE-2022-23491)
- Update all dependencies to latest.

0.4.3

------------------

Documentation
~~~~~~~~~~~~~

- Scaffold and publish documentation.

Internal
~~~~~~~~

- Update all dependencies to latest.
- Organize dependencies in ``pyproject.toml`` by groups (e.g., "dev" and "docs").

0.4.2

------------------

mypy
~~~~

- **Types**: ``realtime.get`` `infers exact return type`_ from user-provided value for ``dataset``.

ObservationDatum
~~~~~~~~~~~~~~~~

Refers to a particular piece of data from an ``Observation``. Metadata can be accessed
with ``.label``, ``.unit``, and ``.value`` (e.g., ``wind_direction.value``).

- **ObservationFloatDatum**: validate numeric values (previously ``ObservationDatum``).
- **ObservationStringDatum**: validate non-numeric values.

Observation
~~~~~~~~~~~

Weather observation recorded at unique datetime by type of ``dataset`` (e.g., meteorological).

- **MeteorologicalObservation**: attributes return either ``ObservationFloatDatum``
or `ObservationStringDatum` after validating data provided from NDBC.
- **WaveSummaryObservation**: attributes return either ``ObservationFloatDatum``
or ``ObservationStringDatum`` after validating data provided from NDBC.

Observations
~~~~~~~~~~~~

The following models were extended from ``Observations`` to support static typing:

- **MeteorologicalObservations**: can use ``+=`` syntax on an instance
of this class in order to append ``MeteorologicalObservation`` records.
- **WaveSummaryObservations**: can use ``+=`` syntax on an instance
of this class in order to append ``WaveSummaryObservation`` records.

Internal
~~~~~~~~

- Bump all development dependencies to latest.
- Extend tests to check for expected attributes.

0.4.1

------------------

Observation
~~~~~~~~~~~

- **MeteorologicalObservation**: change ``dominate_wave_period`` to
``dominant_wave_period``.

0.4.0

------------------

Buoy
~~~~

- **Realtime**: ``get`` now supports Wave Summary data (i.e., dataset="spec").

Observation
~~~~~~~~~~~

- **MeteorologicalObservation**: new model of type ``Observation``
to represent API calls for realtime meteorological data. Attributes
return instances of ``ObservationDatum`` by label (snaked cased).
This directly supports enhancements for static type checking introduced
in this release.

- **WaveSummaryObservation**: new model of type ``Observation`` to
represent API calls for realtime wave summary data. Attributes
return instances of ``ObservationDatum`` by label (snaked cased).
This directly supports enhancements for static type checking
introduced in this release.

- **ObservationDatum**: renamed ``Observation`` to ``ObservationDatum``.
This represents a piece of data that was observed by a buoy at a unique
datetime and contains metadata like unit of measurement (i.e., ``.unit``).
It is renamed to better define its function and purpose.

mypy
~~~~

- **Types**: extend type checking support to all objects and iterables.

Internal
~~~~~~~~

- Update tests to account for incoming changes.
- Bump all dependencies to latest.

Breaking Changes
-------------------

Observations
~~~~~~~~~~~~

- **Observation**: is now ``ObservationDatum``; the original purpose of
``Observation``, which was introduced in v0.3.0, has been moved to
this new object.

- **ObservationDatum**: value will default to ``None`` (type: NoneType)
when datum missing instead of ``nan`` (type: float). This change should
improve experience when working with ``JSON`` objects or databases.

- **Observations**: container for models of type ``Observation`` such as
``MeteorologicalObservation``, which will be new response type for all
API calls.

Buoy
~~~~

- **Realtime**: ``get`` returns an iterable ``Observations`` object. The type of
iterable provided depends on the query. If requesting meteorological data, type
of ``Observation`` would be ``MeteorologicalObservation``. The primary purpose
of these types of ``Observation`` objects is to define available attributes.

0.3.0

------------------

Buoy
~~~~

- **Realtime**: ``get`` returns list of ``Observation`` instances. Instance
of ``Observation`` will default to ``nan`` (type: float) when datum is missing.

mypy
~~~~

- **Types**: provide type annotations to support static type checking.

Internal
~~~~~~~~

- Add new ``pre-commit`` hooks and update all other hooks to latest version.
- Address PEP8 warnings identified by flake8.
- Refactor all imports to absolute from relative.
- Bump all dependencies to latest.

Documentation
~~~~~~~~~~~~~

- Fix broken href in CONTRIBUTING.
- Update `doc/examples`_ with examples of query response.

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.