semvec/pypi-packages huggingface dataset:
parcae 0.2.1
Infer daily rhythm and sleep schedule from message timestamps
Requires Python: >=3.13

<div align="center">

# parcae

<div>
   <a href="https://pypi.org/project/parcae/"><img src="https://img.shields.io/pypi/v/parcae.svg" alt="PyPI"></a>
   <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License"></a>
</div>

<a href="https://heyjeremy.vercel.app/blog/when-do-you-sleep"><img src="https://img.shields.io/badge/blog-when%20do%20you%20sleep%3F%20learning%20a%20pattern%20of%20life%20from%20message%20timestamps-blue" alt="Blog"></a>

Infer daily rhythm and sleep schedule from message timestamps

</div>

`parcae` is a command-line tool and Python library that analyzes nothing but timestamps and infers a user's likely timezone offset and their typical sleep window.

## How It Works

`parcae` models human behavior as a very small Hidden Markov Model with two hidden states:

- Awake (A)
- Sleep (S)

The only observation is "was there at least one message in this time bin?". The model is trained globally across many users to learn:

- how likely people are to send messages while "awake"
- how unlikely they are to send messages while "asleep"
- how often they switch between the two states

At inference time, Parcae:

1. Tries many possible timezone offsets
2. Picks the offset that makes the timeline most explainable by a "human with one long sleep per day"
3. Decodes the most likely sleep/awake sequence
4. Extracts daily sleep blocks
5. Computes a typical schedule and regularity statistics

## Installation

You can install `parcae` using [pipx](https://pypa.github.io/pipx):

```bash
pipx install parcae
```

## Usage

### API

```python
from parcae import Parcae

p = Parcae()

timestamps = [
    "2025-09-01T05:43:12+00:00",
    "2025-09-01T18:22:10+00:00",
    ...
]

print(p.analyze(timestamps))
```

### CLI

Parcae expects a CSV file with one user's timestamps:

```csv
timestamp
2025-09-01T05:43:12+00:00
2025-09-01T07:58:33+00:00
2025-09-01T18:22:10+00:00
```

```bash
parcae analyze user_timestamps.csv
```

Compare two fingerprints to estimate whether they belong to the same person:

```bash
parcae compare parcae:v1:<fp1> parcae:v1:<fp2>
```

#### Examples

```bash
+ Parcae analysis

~ inferred timezone: UTC+3

+ typical schedule:
        - sleep: 23:52 -> 06:34  (≈ 8h 30m)
        - awake: 06:34 -> 23:52
        - variability: ±175m

+ activity profile (24h):
        ▁▁▁▁▁▁▁▁▅▇▅█▆▁▅▄▅▆▁▇▇▆▆▇
        |     |     |     |     
        00    06    12    18    

+ fingerprint:
        parcae:v1:AAAAAAAAAAAAAAAAAAAAAD0AWQA6AGMAQQAAADoAMAA6AEcAAABWAFUATgBMAFsAd__-D9QPqP12BPEBqwU=

~ based on 30 days of data
~ bin size: 15 minutes
```
envrify 0.1.1
Secure environment variable management and synchronization SDK for Envrify.
Requires Python: >=3.10
Keywords: config, dotenv, envrify, saas, security

# Envrify Python SDK

Envrify is a centralized, cloud-based platform designed to securely manage and synchronize environment variables (.env) for teams and individual developers. This SDK allows you to programmatically fetch and sync your configuration while maintaining strict security via local decryption.

## Features
* **Secure Sync**: Fetch encrypted variables directly from the Envrify API.
* **Conflict Protection**: Detects local changes before updating your `.env` file.
* **Encryption-First**: Built with support for AES-256 standards.

## Installation
```bash
pip install envrify
```

## Quick Start

To use the SDK, you will need your **API Key** and **File ID** from the Envrify dashboard.

```python
from envrify import Envrify

# Initialize the client
# Note: Ensure your Encryption Key is available locally for decryption
client = Envrify(
    api_key="your_api_key",
)

# Sync remote variables to your local .env file
client.sync()

```

## Security

Envrify uses an encryption-first design. All values are stored in encrypted form, and decryption occurs locally on your machine to ensure that sensitive data is never exposed in plain text over the network.
sage-x3-requests-wrapper-custom 0.1.0a14
Internal utility package
Requires Python: >=3.8

# Sage X3 Requests Wrapper (ALPHA)

> ⚠️ **AVISO: BIBLIOTECA EM DESENVOLVIMENTO (ALPHA)** ⚠️
>
> Esta biblioteca foi publicada para uso pessoal e testes. **Não é recomendada para produção.**
> A API pode mudar drasticamente a qualquer momento sem aviso prévio. Use por sua conta e risco.

## Instalação

```bash
pip install internal-lib-48e662a6
```

## Exemplos de Uso

### Configuração
```python
from sage_x3_requests import SageX3Config, SageX3Requester

config = SageX3Config(
    base_url="https://seu-erp.com",
    username="admin",
    password="password",
    folder="SEED"
)
```

### Pedir 5 Registos (Limit)
Pode passar o limite diretamente no método `.get_resources(limit=5)`.

```python
with SageX3Requester(config) as client:
    # Opção 1: Passar limit no get_resources (Maneira mais simples!)
    registos = client.request("CLIENTES", "BPC") \
                     .get_resources(limit=5)
    
    # Opção 2: Usar .count(5) antes
    registos = client.request("CLIENTES", "BPC") \
                     .count(5) \
                     .get_resources()
```

### Pedir TODOS os Registos (Paginação Automática)
Use `.get_resources(fetch_all=True)` para buscar todos os dados, percorrendo todas as páginas automaticamente.

```python
with SageX3Requester(config) as client:
    # Busca todos os clientes (cuidado com grandes volumes de dados!)
    todos_clientes = client.request("CLIENTES", "BPC") \
                           .get_resources(fetch_all=True)
                           
    print(f"Total encontrado: {len(todos_clientes)}")
```

### Contagem Total
Para saber quantos registos existem sem trazer os dados:

```python
with SageX3Requester(config) as client:
    query = client.request("CLIENTES", "BPC").count(True).execute()
    total = query.get("count") # ou verificar estrutura de retorno
```
dr-widget 0.1.5
Widgets to use with marimo notebooks
Requires Python: >=3.11

# dr_widget

dr_widget is a hybrid Python/Svelte project for building reusable AnyWidget components that can be dropped into Marimo notebooks today and exported to full Svelte apps later. The repository currently ships a Config File Manager widget, but the layout is designed to host additional widgets.

## Quick Start

```bash
# Install JS dependencies (root + workspace)
bun install

# Live-reload the Config File Manager widget in a browser
bun run dev:config-file-manager

# Produce the optimized bundle used by AnyWidget
bun run build

# Build the Python distributions (wheel + sdist)
uv build

# Launch the Marimo demo notebook
marimo run notebooks/config_file_manager_widget.py
```

Prerequisites: Bun ≥ 1.0, Node-compatible environment, Python ≥ 3.11 with `uv`, and Marimo ≥ 0.17.6.

## Repository Layout

- `src/dr_widget/` – Python package exposing AnyWidget classes.
  - `widgets/config_file_manager/` – widget workspace (Svelte source in `src/`, build output in `static/`).
    - `src/ConfigFileManager.svelte` – orchestration layer wiring bindings into the panel components.
    - `src/lib/hooks/use-file-bindings.ts` – shared logic for syncing AnyWidget traitlets.
    - `src/lib/components/` – shadcn-style UI primitives and panels, including a config viewer card with both a tree view and graph view for JSON payloads.
- `docs/` – additional reference material (architecture, development workflows).
- `notebooks/config_file_manager_widget.py` – Marimo notebook that exercises the Config File Manager widget.

## Documentation

- [Architecture Overview](docs/architecture.md) – how Python, AnyWidget, and Svelte fit together.
- [Development Workflow](docs/development.md) – commands for widget builds, packaging, and notebooks.
- [Repository Guidelines](AGENTS.md) – coding standards, contracts, and contribution checklist.

## Contributing

1. Work inside a dedicated branch.
2. Run `bun run build`, `npx svelte-check`, and `uv build` before opening a PR.
3. Update the notebook and docs when you add or change widget behaviour.
4. Follow the commit and PR practices outlined in `AGENTS.md`.

Please open an issue if you hit build problems or want to discuss new widgets.
qti-package-maker 26.1
A package to create, manage, and convert QTI packages for quizzes and assessments in Canvas, Blackboard, Moodle, and LibreTexts ADAPT.
Requires Python: >=3.9
Keywords: QTI, quiz, assessment, test package, Canvas, Blackboard, Moodle, LibreTexts ADAPT, e-learning, LMS, question bank, quiz converter, online learning, exam generator, QTI exporter, IMS Question and Test Interoperability specification, Question and Test Interoperability, XML, QTI v2.1, QTI v1.2

# QTI Package Maker

qti_package_maker is a Python package and CLI for converting Blackboard Question Upload (BBQ)
text files into QTI packages and other export formats (Canvas QTI v1.2, Blackboard QTI v2.1,
human-readable text, and HTML self-tests). It is aimed at instructors and developers who need
to move assessments across LMSs.

## Documentation
Core docs:
- [docs/INSTALL.md](docs/INSTALL.md): Setup and dependencies.
- [docs/USAGE.md](docs/USAGE.md): CLI usage and examples.
- [docs/FORMATS.md](docs/FORMATS.md): Input/output formats and engine list.
- [docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md): Common issues and fixes.
- [docs/CODE_ARCHITECTURE.md](docs/CODE_ARCHITECTURE.md): System design overview.
- [docs/FILE_STRUCTURE.md](docs/FILE_STRUCTURE.md): Repo layout and file map.

More docs:
- [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md): Developer workflows and testing.
- [docs/CHANGELOG.md](docs/CHANGELOG.md): Change history.

## Quick start
```sh
python3 -m venv .venv
source .venv/bin/activate
pip install -r pip_requirements.txt
pip install -e .
python3 tools/bbq_converter.py -i bbq-example-questions.txt -1
```

Input files must follow the `bbq-<name>-questions.txt` naming pattern. For the BBQ format and
more examples, see [docs/USAGE.md](docs/USAGE.md).