semvec/pypi-packages huggingface dataset:
starrydata 1.4.0
Starrydata Python useful tools
Requires Python: >=3.8

# Starrydata

Starrydata is a library that allows users to easily download and utilize datasets related to inorganic materials. This library enables efficient data retrieval for research and projects.

## Installation

You can install Starrydata from PyPI using the following command:

```sh
pip install starrydata
```

## Usage

Below is an example of how to use Starrydata.

### Download and load the Starrydata dataset

To download a specific dataset, use the `Dataset` class. Here is an example of how to download and load a dataset into a pandas DataFrame:

```python
import starrydata as sd  # Import the Starrydata library
import pandas as pd  # Import the pandas library

# Load the dataset for the specified date
sd_dataset = sd.load_dataset(date="20240521")

# Print the dataset timestamp to confirm the download date
print(sd_dataset.dataset_timestamp)

# Read the 'all_curves.csv' file from the dataset and convert it to a pandas DataFrame
df_curves = pd.read_csv(sd_dataset.curves_csv)

# Read the 'all_samples.csv' file from the dataset and convert it to a pandas DataFrame
df_samples = pd.read_csv(sd_dataset.samples_csv)

# Read the 'all_papers.csv' file from the dataset and convert it to a pandas DataFrame
df_papers = pd.read_json(sd_dataset.papers_csv)
```

### load the Starrydata dataset zip file directly

```python
import starrydata as sd
import pandas as pd

sd_dataset = sd.load_dataset(zip_path="<your_local_file_path>")
df_curve = pd.read_csv(sd_dataset.curves_csv)
df_sample = pd.read_csv(sd_dataset.samples_csv)
df_paper = pd.read_csv(sd_dataset.papers_csv)
```

## Documentation

For more detailed documentation and usage examples, please refer to the [official documentation](https://pypi.org/project/starrydata/).

## Contributing

Bug reports and feature requests are welcome at the [GitHub repository](https://github.com/starrydata/starrydata-python-library/). Contributions to the codebase are also appreciated. Follow these steps to contribute:

1. Fork the repository
2. Create a new branch (`git checkout -b feature-branch`)
3. Commit your changes (`git commit -am 'Add new feature'`)
4. Push the branch (`git push origin feature-branch`)
5. Create a pull request

## License

This project is licensed under the MIT License. See the [LICENSE file](https://github.com/starrydata/starrydata-python-library?tab=MIT-1-ov-file#readme) for more details.
rnd-logger 1.4.5
Made Tech R&D Logger
Requires Python: <4.0,>=3.11

# Rnd Logger

A python logger implementation for the Made Tech R&D department

This implementation adds flexibility for in and out of office hours alerts and inherits from the root logger provided
by the python logging module. There are two log handlers available, the standard root logger and a json logger

## Testing

- run `make test`

## Creating a release

- Commit your changes to main and then create a release on Github.
- This will trigger a Github action that will increment the version with the tag you have chosen and publish that
  version to PyPi
- Please use semantic versioning and version relative to the change you have made

## Usage

1. Use the rnd_logger:
2. Root Logger:
```python
from rnd_logger import rnd_logger
logger = rnd_logger.get_logger()
   
def your_test_code():
    logger.debug("Debug message")
    logger.info("Info message")
    logger.warning("Warning message")
    logger.error_office_hours_alert("Office hours alert message")
    logger.error_out_of_hours_alert("Out of office hours alert message")
```
2. Json Logger:
```python
from rnd_logger import rnd_logger
logger = rnd_logger.get_logger("json")
   
def your_test_code():
    logger.debug("Debug message", extra={"json_key": "json_value"})
    logger.info("Info message", extra={"json_key": "json_value"})
    logger.warning("Warning message", extra={"json_key": "json_value"})
    logger.error_office_hours_alert("Office hours alert message", extra={"json_key": "json_value"})
    logger.error_out_of_hours_alert("Out of office hours alert message", extra={"json_key": "json_value"})
```
2. Testing the rnd_logger:
    3. There is a caplog fixture provided by pytest
```python
import logging
def test_use_case_logs_info(caplog, use_case_under_test):
    with caplog.at_level(logging.INFO):
        your_test_code()
        records = iter(caplog.records)
        record = next(records)
        assert record.message == "your test log"
```