semvec/pypi-packages huggingface dataset:
pyxll-openbb 0.0.1
PyXLL wrappers for OpenBB SDK v4

# Excel Bindings for OpenBB SDK

**Note** This requires v4 of the OpenBB SDK which is still in development.

This is a work in progress and will need updating as v4 of the OpenBB SDK evolves.

Excel bindings to the OpenBB SDK functions require PyXLL to be installed. Install
the PyXLL Excel add-in first and then pip install this package to add the OpenBB
SDK functions to Excel.

## Requirements

- PyXLL >= 5.6.4
- OpenBB SDK >= 4.0.0

## Video

[![OpenBB in Excel](https://img.youtube.com/vi/UG7rdoCh734/0.jpg)](https://www.youtube.com/watch?v=UG7rdoCh734)
aliyun-sls-logger 0.3.0
async aliyun sls logger
Requires Python: >=3.9,<4.0

# aliyun-sls-logger

`aliyun-sls-logger` is an implementation of asynchronous Aliyun logging designed to integrate with asynchronous code. This library provides no additional features beyond logging.

## Installation

To install `aliyun-sls-logger`, simply use pip:

```
pip install aliyun-sls-logger
```

## Usage

To use `aliyun-sls-logger`, create an instance of the `QueuedLogHandler` class and add it to your logger. The `QueuedLogHandler` requires the following parameters:

* `access_key_id`: The access key ID for your Aliyun account.
* `access_key_secret`: The access key secret for your Aliyun account.
* `endpoint`: The endpoint for your Aliyun SLS service.
* `project`: The name of the project to log to.
* `logstore`: The name of the logstore to log to.

Once you have created an instance of the `QueuedLogHandler`, you can add it to your logger like any other handler:

```python
from aiologger import Logger
from aiologger.levels import LogLevel
from aliyun_sls_logger.logger_handler import QueuedLogHandler

logger = Logger(name=__name__, level=LogLevel.INFO)
handler = QueuedLogHandler(
    access_key_id='your_access_key_id',
    access_key='your_access_key_secret',
    end_point='your_endpoint',
    project='your_project',
    log_store='your_logstore',
    extract_json=True,
    extract_json_prefix='test_'
)
logger.add_handler(handler)

```

You can then use the logger as usual:

```python
await logger.info('This is a log message.')
```
circadian-desktops 0.1.1
An app that changes your desktop background based on time of day.
Requires Python: >=3.8

# ![Logo](logo.png) CIRCADIAN DESKTOPS 

## Description

Circadian Desktops is a Python app for Windows 10 that changes your desktop background based on time of day.

It can be run either as a Python module or built into an executable.

![Screenshot](screenshot.png)

### Desktop Images
Allows users to select different image files to use as desktop background during dawn, day, dust and night.
A single image can be selected for each period or the app can be set to shuffle images from the selected image's folder.

### Transition Times
The app determines image transition times based on sunrise and sunset times at the users location.
This is calculated using two non-standard library Python modules:
- [Geocoder](https://github.com/DenisCarriere/geocoder) - Retrieves the users location and timezone using their IP address.
- [Astral](https://sffjunkie.github.io/astral/) - Calculates sunrise and sunset times based on user location and the current date.

Alternatively, the user can select their own times for images to transition.

### Preferences
The app offers three additional options:
- Dark Theme - Toggles the GUI between light and dark theme.
- Minimize to tray - When selected the app will minimize to the system tray and continue running, instead of shutting down when the window in closed.
- Run on startup - The app to run in the background when the computer is started.

## Running with Python

### Installation

Circadian Desktops can be installed as a library module from PyPI:
```
python -m pip install circadian_desktops
```

### Usage

It is recommended to run Circadian Desktops with `pythonw.exe` to avoid having a command prompt hanging. With Circadian Desktops installed in Python's library packages, run:
```
pythonw -m circadian_desktops
```

## Building executable

An executable version of Circadian Desktops can be built from source using [PyInstaller](https://pyinstaller.org/en/stable/).

First, install all dependancies in `requirements.txt`, plus the PyInstaller package. Then from this folder run:

```
pyinstaller app.spec
```

This will produce `dist\app` folder containing `Circadian Desktops.exe`.

## App files

The circadian_desktops directory contains:
- `__init__.py` - Empty file to identify module.
- `__main__.py` - Entry point to run module as a script.
- `app.py` - Primary script to run the app. Contains the MainWindow class and script to start app.
- `functions.py` - Helper functions called by app.py. Handles functionality outside the GUI.
- `ui_mainwindow.py` - Python script generated from destopUi.ui by `pyuic5`. Used as GUI layout for MainWindow in app.py.
- `desktopUi.ui` - Widget layout for GUI generated by [Qt Designer](https://doc.qt.io/qt-6/qtdesigner-manual.html). Not required for app to run.
- `custom_qt.py` - Contains a custom QtPalette class used for 'dark theme'.
- `Icons/` - Folder with image files used in GUI and for Windows system icons.
- `clean.py` - Run to remove traces of Circadian Desktop from you PC not contained in `src`, i.e. settings file and registry entry.
spine-aws-common 0.2.14
NHS Digital Spine Core common AWS code
Requires Python: >=3.6

# spine-core-aws-common

Common code used across Spine projects in AWS

## Installation

Simply add the pre-built package to your python environment.

The latest version can be obtained with the following curl command if your system has it present:

```
package_version=$(curl -SL https://github.com/NHSDigital/spine-core-aws-common/releases/latest | grep -Po 'Release v\K(\d+.\d+.\d+)' | head -n1)
```

Or you can set a specific version:

```
package_version="0.2.3"
```

Alternatively the main page of this repo will display the latest version i.e. 0.2.3, and previous versions can be searched, which you can substitute in place of `${package_version}` in the below commands.

### PIP

```
pip install https://github.com/NHSDigital/spine-core-aws-common/releases/download/v${package_version}/spine_aws_common-${package_version}-py3-none-any.whl
```

### requirements.txt

```
https://github.com/NHSDigital/spine-core-aws-common/releases/download/v${package_version}/spine_aws_common-${package_version}-py3-none-any.whl
```

### Poetry

```
poetry add https://github.com/NHSDigital/spine-core-aws-common/releases/download/v${package_version}/spine_aws_common-${package_version}-py3-none-any.whl
```

## Usage

TBC

Quick example

```python
from spine_aws_common import LambdaApplication

class MyApp(LambdaApplication):
    def initialise(self):
        # initialise
        return

    def start(self):
        # do actual work
        # to set response for the lambda
        self.response = '{"my new response":true}'
        return

# create instance of class in global space
# this ensures initial setup of logging/config is only done on cold start
app = MyApp(additional_log_config='/path/to/mylogconfig.cfg')

def lambda_handler(event, context):
    return app.main(event, context)
```

API Gateway example

```python
from spine_aws_common import APIGatewayApplication
from aws_lambda_powertools.event_handler.api_gateway import Response

class MyApp(APIGatewayApplication):
    def get_hello(self):
        return Response(
            status_code=200, content_type="application/json", body='{"hello":"world"}'
        )

    def get_id(self, _id):
        response_dict = {"id": _id}
        return Response(
            status_code=200,
            content_type="application/json",
            body=json.dumps(response_dict),
        )

    def configure_routes(self):
        self._add_route(self.get_hello, "/hello")
        self._add_route(self.get_id, "/id/<_id>")

# create instance of class in global space
# this ensures initial setup of logging/config is only done on cold start
app = MyApp(additional_log_config='/path/to/mylogconfig.cfg')

def lambda_handler(event, context):
    return app.main(event, context)
```