semvec/pypi-packages huggingface dataset:
flake8-define-class-attributes 0.2.2
Check that class attributes are defined at the top level
Requires Python: >=3.11

# flake8-define-class-attributes

[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/flake8-define-class-attributes/0.2.2?logo=python&logoColor=FFD43B)](https://pypi.org/project/flake8-define-class-attributes/)
[![PyPI](https://img.shields.io/pypi/v/flake8-define-class-attributes?logo=Python&logoColor=FFD43B)](https://pypi.org/project/flake8-define-class-attributes/)
[![PyPI - License](https://img.shields.io/pypi/l/flake8-define-class-attributes?color=magenta)](https://github.com/sco1/flake8-define-class-attributes/blob/main/LICENSE)
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/sco1/flake8-define-class-attributes/main.svg)](https://results.pre-commit.ci/latest/github/sco1/flake8-define-class-attributes/main)

Check that class attributes are defined at the "top level" of your class. This is in the same spirit as Pylint's [`W0201` (`attribute-defined-outside-init`)](https://pylint.readthedocs.io/en/latest/user_guide/messages/warning/attribute-defined-outside-init.html) error, expanded to allow attribute declaration at the class level.

For example:

**Failing Code:**

```py
class Spaceship:
    def reset_location(self) -> None:
        self.xy = (0, 0)  # CLA001
```

**Passing Code:**

```py
class Spaceship:
    def __init__(self):
        self.xy = (0, 0)

    def reset_location(self):
        self.xy = (0, 0)

# --OR--

class Spaceship:
    xy: tuple[int, int]

    def reset_location(self):
        self.xy = (0, 0)
```

When using [dataclasses](https://docs.python.org/3/library/dataclasses.html), `__post_init__` methods are also considered when checking that an attribute has been defined.

## Installation

Install from PyPi with your favorite `pip` invocation:

```text
$ pip install flake8-define-class-attributes
```

It will then be run automatically as part of flake8.

You can verify it's being picked up by invoking the following in your shell:

```bash
$ flake8 --version
7.3.0 (flake8-define-class-attributes: 0.2.2, mccabe: 0.7.0, pycodestyle: 2.14.0, pyflakes: 3.4.0) CPython 3.13.5 on Darwin
```

## Warnings

| ID       | Description                                        |
|----------|----------------------------------------------------|
| `CLA001` | Attribute `<name>` not defined prior to assignment |

## Python Version Support

Beginning with Python 3.11, a best attempt is made to support Python versions until they reach EOL, after which support will be formally dropped by the next minor or major release of this package, whichever arrives first. The status of Python versions can be found [here](https://devguide.python.org/versions/).
gommit 0.4.1
Generate Git commit messages using an OpenAI-compatible API
Requires Python: >=3.6

# Gommit

A Python tool to generate Git commit messages for staged changes using an OpenAI-compatible API.
Installation
From PyPI:
```bash
pip install gommit
```

### Requirements

- Python 3.6
-  Git installed and accessible in PATH
-   OpenAI API key set as an environment variable (OPENAI_API_KEY)

Environment Variables
Set the following environment variables in your ~/.bashrc or ~/.zshrc for persistence:
```bash
export OPENAI_API_KEY=your-api-key-here
export OPENAI_BASE_URL=https://api.openai.com/v1  # Optional, defaults to OpenAI API
export OPENAI_MODEL=gpt-4o-mini                   # Optional, defaults to gpt-4o-mini
```

Add them and reload your shell:
```bash
echo 'export OPENAI_API_KEY=your-api-key-here' >> ~/.bashrc
echo 'export OPENAI_BASE_URL=https://api.openai.com/v1' >> ~/.bashrc
echo 'export OPENAI_MODEL=gpt-4o-mini' >> ~/.bashrc
source ~/.bashrc
```

### Usage

Stage your changes in a Git repository: `git add .`


Run the `gommit`

Review the generated commit message and choose to commit (y) or abort (n).

### Project-specific configuration – gommit.ini

Create a file named `gommit.ini` in the root of your repository:
```ini
[gommit]
# short (default) or descriptive
message_style = short

# true / false  (default false)
use_emojis = false

# Optional – override global env vars for this project only
# api_key = sk-...
# base_url = https://my-self-hosted-api/v1
# model = gpt-4o-mini
```

### Notes

- The script uses git diff --cached to read only staged changes.
- Customize the API endpoint or model via OPENAI_BASE_URL and OPENAI_MODEL environment variables.
- Ensure your Git repository is properly initialized before running.
civic-paperkit 0.0.2
Toolkit for civic paper production using Python and LaTeX
Requires Python: >=3.12

# civic-paperkit

[![PyPI](https://img.shields.io/pypi/v/civic-paperkit.svg)](https://pypi.org/project/civic-paperkit/)
[![Python versions](https://img.shields.io/pypi/pyversions/civic-paperkit.svg)](https://pypi.org/project/civic-paperkit/)
[![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](https://opensource.org/licenses/MIT)
[![CI Status](https://github.com/civic-interconnect/civic-paperkit/actions/workflows/ci.yml/badge.svg)](https://github.com/civic-interconnect/civic-paperkit/actions/workflows/ci.yml)
[![Docs](https://img.shields.io/badge/docs-mkdocs--material-blue)](https://civic-interconnect.github.io/civic-paperkit/)

> Automatically download research data linked to your bibliography references.

**civic-paperkit** fetches datasets, CSVs, and supplementary materials referenced in your academic papers.
It reads your `.bib` file and a companion metadata file to archive all your sources.


---

## Installation

```shell
pip install civic-paperkit
```
---

## Quick Start

1. Create a `refs_meta.yaml` file mapping your BibTeX keys to data sources:
```yaml
# refs_meta.yaml
cdc_pmdr:
  notes: "CDC Maternal Mortality Rates 2018-2022"
  assets:
    - url: "https://data.cdc.gov/api/views/e2d5-ggg7/rows.csv"
      filename: "maternal_mortality.csv"

smith2024:
  assets:
    - page_url: "https://example.org/supplementary"
      allow_ext: [".csv", ".xlsx", ".zip"]
```

2. Run the tool:
```shell
ci-paperkit --bib paper/refs.bib --meta paper/refs_meta.yaml
```

3. Find your data in `data/raw/<bibkey>/`

## Features

- Download direct file URLs (CSV, Excel, PDF, etc.)
- Scrape pages for data files
- Organize downloads by citation key
- Checksum verification (optional)
- Configurable output directories

## Requirements

- Python 3.12+
- A BibTeX file with your references
- A YAML metadata file mapping references to data sources

## License

MIT
django-jsanctions 4.2.4
Collection of small utilities for Django and Django REST framework projects.
Requires Python: >=3.8

django-jsanctions
=================

Parses and imports sanction lists for Django projects. Supports Django 3.0+. Test coverage 69%

Supported sanction lists:
* EU consolidated sanctions list
* OFAC consolidated sanctions list
* UN consolidated sanctions list

Data Sources
============

* http://data.europa.eu/euodp/en/data/dataset/consolidated-list-of-persons-groups-and-entities-subject-to-eu-financial-sanctions
* https://home.treasury.gov/policy-issues/financial-sanctions/consolidated-sanctions-list-data-files
* https://www.un.org/securitycouncil/content/un-sc-consolidated-list

Install
=======

* pip install django-jsanctions

Unit Tests
==========

* ./test-coverage

Changes
=======

3.6.0:
+ Added OFAC and UN list import

3.5.0:
+ Refactoring

3.0.0:
+ Django 3.0 support
django-jissues 4.2.4
Collection of small utilities for Django and Django REST framework projects.
Requires Python: >=3.8

Django JIssues
==============

Basic issue tracking abstract data models for Django projects.

Usage
-----

1. Derive concrete classes from jissues.model.*Base abstract base classes
2. Derive admin classes from jissues.admin.*Base classes and register admins
3. Add whatever fields you need to concrete classes on top of abstract base