semvec/pypi-packages huggingface dataset:
ribeye 0.0.1a1
Beef is a Python metaprogramming library for generating HTTP clients using type hints. Beef removes the need for writing boilerplate code for deserialization of Pydantic models, and provides out of the box rate limiting, retries, and caching.
Requires Python: >=3.9

# Beef: Generate methods for calling REST APIs using type hints

Beef is a Python metaprogramming library which eliminates need for boilerplate code when integrating with REST APIs.
The library provides a powerful class descriptor which generates code for calling a REST API based on method signatures
annotated with type hints. The library takes care of building urls, deserialization of Pydantic models, and with
minimal customization offers rate limiting, retries, and caching. Beef is built on top of aiohttp, minimum
supported Python version is 3.9, it works with Pydantic V1 and V2.

- test without pydantic
- wheel
- Readme
- GithubAction with Pip upload, code cover, configuration matrix tests for python versions
pds4-utils 0.3.1
A collection of PDS4 utilities
Requires Python: >=3.7
Keywords: PDS,PDS4,archive,data

# pds4_utils
Utilities for working with NASA Planetary Data System v4 (PDS4) data files

## Dependencies

The following dependencies must be met:
- python 3
- pandas
- pyyaml
- lxml
- PDS4 tools

## Installation

First, clone this repository. If you are using conda, the dependencies can be installed in a new environment using the provided environment file:

```conda env create -f environment.yml```

The newly created environment can be activated with:

```
conda activate pds4utils
```

Otherwise, please make sure the dependencies are installed with your system package manager, or a tool like `pip`. Use of a conda environment or virtualenv is recommended!

The package can then be installed with:

```python setup.py install```

## Contents

The module contains a few simple functions and a class. A brief overview is given here:

`read_table`
- reads 2D tables from PDS4 products
- one level of group fields are supported
- returns a pandas dataframe
  - group field data are returned as an array in each pandas cell
  - if `table_name` is not given, the first table is returned
  - the DataFrame is indexed by the first time field, if any
    - this can be set using the `index_col` parameter


`read_tables`
- reads multiple tables using `read_table`
- useful for building a large dataframe from many similar data products
- set `add_filename=True` to add the product name to each row, to track which product the data came from


`index_products(directory='.', pattern='*.xml')`
- searches for PDS4 labels recursively in `directory` matching `pattern`
- returns a pandas DataFrame with one row per product
- returned data include:
  - LID + VID
  - bundle, collection and product identifier
  - start and stop time, if present


`Database`
- this class builds one or more DataFrames containing custom meta-data from a set of PDS4 products
- a YAML formatted configuration file is required to determine which attributes to read
  - the Xpath to each attribute must be known
  - see [example.yml](https://nbviewer.jupyter.org/github/msbentley/pds4_utils/blob/master/example.yml) for more information
  - if no config file is specified when instantiating the class, a default is looked for
    - `pds_dbase.yml` in the user's home directory, or pointed to by `APPDATA` or `XDG_CONFIG_HOME`
- each entry in the configuration file produces one database table (one Pandas dataframe)
  - to see which tables have been loaded, use `list_tables()`
  - to return a table, use `get_table(table)`
  - to save or restore a database using `save_dbase()` or `load_dbase()`


## Example

The Jupyter notebook included with this repository shows an example of pds4_utils in use. To view the notebook, click [here](https://nbviewer.jupyter.org/github/msbentley/pds4_utils/blob/master/pds4_utils_example.ipynb).