semvec/pypi-packages huggingface dataset:
gitlab-users 2.0.1
Export GitLab users information and automate user accounts creation
License: MIT
Requires Python: >=3.9

# gitlab-users

[![CI](https://github.com/boileaum/gitlab-users/actions/workflows/ci-publish.yml/badge.svg)](https://github.com/boileaum/gitlab-users/actions/workflows/ci-publish.yml)
[![Latest Release](https://img.shields.io/github/v/release/boileaum/gitlab-users?label=release)](https://github.com/boileaum/gitlab-users/releases)
[![Python Version](https://img.shields.io/badge/python-3.9+-blue.svg)](https://python.org)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Doc](https://img.shields.io/badge/doc-sphinx-blue)](https://boileaum.github.io/gitlab-users/)

A CLI and an API to manage GitLab user accounts, based on [python-gitlab](https://github.com/python-gitlab/python-gitlab).

## Features

- List users and groups from a GitLab instance
- Export users to CSV
- Bulk create/delete users from CSV
- Export SSH keys

## Installation

```sh
pip install gitlab-users
```

Requires Python 3.9+ and a valid `python-gitlab` configuration (`~/.python-gitlab.cfg`).

## Usage

Get help and list all commands:
```sh
gitlab-users -h
```

List all users:
```sh
gitlab-users list-users
```

List all groups:
```sh
gitlab-users list-groups
```

Export all users to a CSV file:
```sh
gitlab-users export-users users.csv
```

Create users from a CSV file (see example format below):
```sh
gitlab-users create-from-csv users.csv
```

Delete users from a CSV/text file (usernames in first column):
```sh
gitlab-users delete-from-csv users.csv
```

Delete a single user (asks for confirmation):
```sh
gitlab-users delete-user USERNAME
```

Export SSH keys of a user:
```sh
gitlab-users export-ssh-keys USERNAME
```

### Example CSV format

```text
# username, name, email, [organization], [location], [group], [access_level]
# Note: The fields in square brackets are optional and can be omitted if not needed.
ww,Diana Prince,wonder.woman@themyscira.org,,Themyscira
wayne,Bruce Wayne,bruce.wayne@wayne-enterprises.com,Wayne Enterprises,Gotham City,board,owner
```

## Development

- See [CONTRIBUTING.md](CONTRIBUTING.md) for dev setup, linting, testing, and release instructions.
- Run all tests: `pytest`
- Lint and format: `ruff check .` and `black .`

## Documentation

- Full API and usage documentation: [Sphinx HTML docs](https://boileaum.gitlab-users.pages.gitlab-tools/docs/)
- To build locally:
  ```sh
  cd docs
  make html
  ```

## License

MIT License
agensight 0.6.3
A Python SDK for logging and visualizing OpenAI agent interactions
License: MIT
Requires Python: >=3.10
Keywords: openai, ai, agents, logging, visualization, sdk, cli, dashboard

# Agensight SDK

A simple SDK for tracing and evaluating AI agent workflows.

## Installation

```bash
pip install --upgrade agensight
```

## Quick Start

```python
from agensight import init, trace, span

# Initialize Agensight
init(name="my-agent")

# Add tracing to your functions
@trace("my_workflow")
def my_function():
    @span()
    def my_subtask():
        # Your code here
        pass
    return my_subtask()
```

## Key Features

### 1. Tracing
- Auto-instrumented tracing of LLM calls
- Function execution tracking
- Agent interaction monitoring
- Performance metrics and token usage analytics

### 2. Evaluation
```python
from agensight.eval.metrics import GEvalEvaluator

# Create custom evaluator
accuracy = GEvalEvaluator(
    name="Accuracy",
    criteria="Evaluate response accuracy",
    threshold=0.7
)

# Use in your code
@span(metrics=[accuracy])
def my_function():
    # Your code here
    pass
```

### 3. Local Storage
- All data stored locally in `.agensight`
- No external data uploads
- Complete privacy and control

## Dashboard

Start the dashboard to view traces and metrics:
```bash
agensight view
```
Visit http://localhost:5001 in your browser

## Documentation

For detailed documentation, visit our [docs](https://pype-db52d533.mintlify.app/introduction).

## Support

Join our [GitHub Discussions](https://github.com/pype-ai/agensight/discussions) for support and feature requests.

## License

MIT License • © 2025 agensight contributors
pycron 3.2.0
Simple cron-like parser, which determines if current datetime matches conditions.
License: MIT
Requires Python: <4.0,>=3.9
Keywords: cron, parser

# pycron

![Test Status](https://github.com/kipe/pycron/actions/workflows/python-test.yml/badge.svg?branch=main)

Simple cron-like parser for Python, which determines if current datetime matches conditions.

## Installation

`pip install pycron`

## Usage

```python
import pycron
pycron.is_now('*/5 * * * *')  # True every 5 minutes
pycron.is_now('0 * * * *')    # True every hour, on minute 0
```

## Help

The formats currently supported are

- `*/5` (for "every X" function),
- `4-10` (for time ranges),
- `6,8,23` (for a list of values),
- `*` (for wildcard),
- and of course a single number.

The module includes `is_now(s, dt=None)`, where `s` is the cron-style string
and `dt` is the datetime to use (defaults to current datetime, if not set).
The function returns `True`, if `dt` matches the format.

It also includes `has_been(s, since, dt=None)`, where `s` is the cron-style string,
`since` is a datetime in the past and `dt` is the datetime to use (defaults to current datetime, if not set).
The function returns `True`, if `dt` would have matched the format at some point during the period.
This behaves much like like [anacron](https://en.wikipedia.org/wiki/Anacron) and is useful for applications which do not run continuously.

All functions are compatible with both timezone aware and naive datetimes.

There are couple of helpers available, mainly for use with Django.
They give out list of tuples, as required by Django field choices.

The available helpers are

- `pycron.MINUTE_CHOICES`,
- `pycron.HOUR_CHOICES`,
- `pycron.DOM_CHOICES`, for day of month
- `pycron.MONTH_CHOICES`, for month names
- `pycron.DOW_CHOICES`, for day names

## Support for alternative datetime -libraries

Currently supported "alternative" datetime libraries are:

- [Arrow](http://arrow.readthedocs.io/en/latest/)
- [Delorean](http://delorean.readthedocs.io/en/latest/)
- [Pendulum](https://pendulum.eustace.io/)
- [udatetime](https://github.com/freach/udatetime)

#### Notes

This was done, as I personally needed something like this to implement proper timers for my Django-project and
every available library felt too complicated for my use-case. Also, this was a good coding exercise...

As the Django -helper choices are quite limited, I've expanded them in my own project by adding values like
`('*/5', 'every 5 minutes')`, `('1-5', 'on weekdays')`, and `('0,6', 'on weekends')`.
I haven't included them in the code, as every use-case is different, this was just to give an idea on how to use this ;)