semvec/pypi-packages huggingface dataset:
imgfixer 0.1.9
ImgFixer is a tool for fixing image extensions in a directory.
Requires Python: <=3.14,>=3.9
Keywords: image, fix, file extension, rename, automation

# ImgFixer

## Overview
ImgFixer is a lightweight FastAPI-based application that scans a given directory and corrects incorrect image file extensions. It determines the actual file type of images and renames them with the correct extension to ensure compatibility and consistency.

## Purpose
Many image files have incorrect or missing extensions, which can cause issues with software that relies on proper file formats. ImgFixer automates the process of verifying and correcting image file extensions, making file management more reliable and efficient.

## Features
- Detects image file formats using content-based identification (not just file extensions).
- Automatically renames files with incorrect extensions to their correct format.
- Provides a web interface for ease of use.
- Supports popular image formats such as JPEG, PNG, and WebP.

## Installation

### Creating a Conda Virtual Environment (Recommended)
Before installing ImgFixer, you can create and activate a conda virtual environment:

```bash
conda create -n imgfixer uv
conda activate imgfixer
```

### Installing ImgFixer
You can install ImgFixer using `uv` (recommended):

```bash
uv pip install imgfixer
```

Alternatively, you can install ImgFixer as a Python package using pip:

```bash
pip install imgfixer
```

## Usage

### Running the Application (Web Interface)
You can run ImgFixer using the command line:

```bash
imgfixer
```
This will start the ImgFixer web interface. Open your browser and navigate to:

```
http://localhost:8083/
```

### Command-Line Interface
To process a directory for image extensions using the command line:

```bash
imgfixer -dir <dir>
```

### Help
To display the usage information:

```bash
imgfixer -help
```

## License
ImgFixer is licensed under the **GNU General Public License v3 (GPLv3)**.

## Author
**Krishnakanth Allika**  
Email: wheat-chop-octane [at] duck [dot] com

# Changelog

## [0.1.9] - 2025-03-23
### What's New
- **Documentation Update**: Updated usage documentation for better clarity.

## [0.1.8] - 2025-03-23
### What's New
- **Enhanced Error Handling**: Improved error messages for better troubleshooting.

### Improvements
- **Bug Fixes**: Fixed minor bugs.

## [0.1.7] - 2025-03-23
### What's New
- **Command-Line Support**: You can now run ImgFixer directly from the terminal to fix image extensions in a folder.  
- **Simplified Usage**: Easily switch between the UI and command-line mode.  

### Improvements
- Optimized performance and updated dependencies.  
- Minor fixes and enhancements for a smoother experience.  

---

## [0.1.6] - 2025-03-20
- First beta release of ImgFixer.
epycs 1.5.0
Epycs is a simple way to convert shell scripts to python
Requires Python: >=3.7

# Epycs

Epycs is a simple way to convert shell scripts to python.
It features

  - A simple subprocess API
  - A sane behaviour of exiting by default on subprocess failures
  - A show-output-on-fail behaviour

The goal of this package is to be able to write shell-script equivalent code
in python while still being terse, but adding a tons of goodness in terms of
arithmetical expression, string manipulation, code reuse etc...

Say no to .sh and welcome .py with epycs, you'll thank me later.

# Changelog

* v1.5.0

`epycs.cmd` directly accessible

`ShellProgram.add` supports kwargs, deprecated other methods, they will be removed
in a future version.

`ShellProgram.env(name=value)` for setting additional environment variables

tox testing on python 3.7 to 3.13

Various CI fixes

Using UV for package management

* v1.4.0

Improved handling of additional environment (allows any str-convertible,
and providing `None` deletes the env var)

Added new `python_to_subprocess` function, which turns a local python
function to a full-fledged subprocess, allowing for pure-python piping.

* v1.3.0

Added sourcing of shell scripts

Added new `out_filter=text_lines_0` that splits by NUL character

* v1.2.0

Added epycs.config for lightweight user-defined config management
persianCalendar 0.1.0
A Persian calendar package and countdowns
Requires Python: >=3.6

# Persian Calendar

A Python package to get the current Jalali (Persian) date.

## Installation
pip install persianCalendar

### usage
pc_fa = PersianCalendar(use_persian_numbers=True)
print("== خروجی فارسی ==")
print("تاریخ امروز (جلالی):", pc_fa.format_date(pc_fa.today_jalali()))
print("تاریخ امروز (قمری تقریبی):", pc_fa.get_hijri_date())
print("زمان تا نوروز:", str(pc_fa.next_nowruz()).split('.')[0])
print("زمان تا چهارشنبه‌سوری:", pc_fa.next_chaharshanbe_suri())
print("زمان تا پایان مدارس:", pc_fa.next_school_end())
print("زمان تا سیزده بدر:", pc_fa.next_sizdah_bedar())
print("زمان فعلی:", pc_fa.current_time())
fa_day, _ = pc_fa.current_day_names()
print("نام روز امروز (فارسی):", fa_day)
print("شماره هفته در سال شمسی:", pc_fa.week_number())
print("نام ماه جلالی:", pc_fa.current_jalali_month_name())
print("نام ماه قمری (Gregorian):", pc_fa.current_gregorian_month_name())
pc_en = PersianCalendar(use_persian_numbers=False)
print("\n== English Output ==")
print("Today's Jalali Date:", pc_en.format_date(pc_en.today_jalali()))
print("Today's Hijri Date (approx.):", pc_en.get_hijri_date())
print("Time until Nowruz:", str(pc_en.next_nowruz()).split('.')[0])
print("Time until Chaharshanbe Suri:", pc_en.next_chaharshanbe_suri())
print("Time until School End:", pc_en.next_school_end())
print("Time until Sizdah Bedar:", pc_en.next_sizdah_bedar())
print("Current Time:", pc_en.current_time())
_, en_day = pc_en.current_day_names()
print("Today's Day (English):", en_day)
print("Week number in Jalali year:", pc_en.week_number())
print("Current Jalali Month Name:", pc_en.current_jalali_month_name())
print("Current Gregorian Month Name:", pc_en.current_gregorian_month_name())
uvolution 0.1.0
Add your description here
Requires Python: >=3.13

# 🚀 uvolution
<a id="readme-top"></a> 

<div align="center">  
  <p align="center">
    A blazing-fast universal toolkit for automating commands in Python
    <br />
    <a href="https://pypi.org/project/uvolution/"><strong>Explore the docs »</strong></a>
    <br />
    <br />
    <a href="#-getting-started">Getting Started</a>
    ·
    <a href="#-usage-examples">Basic Usage</a>
    ·
    <a href="https://github.com/alexeev-prog/uvolution/blob/main/LICENSE">License</a>
  </p>
</div>
<br>
<p align="center">
    <img src="https://img.shields.io/github/languages/top/alexeev-prog/uvolution?style=for-the-badge">
    <img src="https://img.shields.io/github/languages/count/alexeev-prog/uvolution?style=for-the-badge">
    <img src="https://img.shields.io/github/license/alexeev-prog/uvolution?style=for-the-badge">
    <img src="https://img.shields.io/github/stars/alexeev-prog/uvolution?style=for-the-badge">
    <img src="https://img.shields.io/github/issues/alexeev-prog/uvolution?style=for-the-badge">
    <img src="https://img.shields.io/github/last-commit/alexeev-prog/uvolution?style=for-the-badge">
    <img src="https://img.shields.io/pypi/l/uvolution?style=for-the-badge">
    <img src="https://img.shields.io/pypi/wheel/uvolution?style=for-the-badge">
    <img src="https://img.shields.io/badge/coverage-54%25-54%25?style=for-the-badge" alt="">
</p>

 > Async universal toolkit for automating commands in python
secure-config-loader 0.1.4
Secure multi-format configuration loader with Ansible Vault support
Requires Python: >=3.10

# Secure Config Loader

## 功能特性
- ✅ 多格式支持：YAML
- ✅ Ansible Vault 自动解密
- 🔒 密码加载优先级策略
- 📦 点分语法访问配置

## 安装
```bash
pip install secure-config-loader
```

## 快速开始
```python
from secure_config_loader import SecureConfigLoader

loader = SecureConfigLoader()
config = loader.load("config.yaml")

print(config.database.host)
```

## 配置优先级
1. 构造函数参数
2. 环境变量 `ANSIBLE_VAULT_PASSWORD`
3. 密码文件 `ANSIBLE_VAULT_PASSWORD_FILE`
4. 默认文件 `~/.vault_pass`
fastsort 0.1.1
A high-performance sorting library for NumPy arrays.
Requires Python: >=3.10

# fastsort

A high-performance sorting library for NumPy arrays.

```py
import numpy as np
from fastsort import sort, argsort

arr = np.array([3, 1, 2], dtype=np.int32)

sorted_arr = sort(arr)
# Output: array([1, 2, 3], dtype=int32)

indices = argsort(arr)
# Output: array([1, 2, 0], dtype=int32)
```

Only two functions are exported: ``sort`` and ``argsort``. Both functions take an n-dimensional NumPy array as input, along with an optional axis. If the axis is None, the flattened array is sorted. The sorting is unstable and utilizes Rust's *sort_unstable* for parallel slices of arrays or *par_sort_unstable* for vectors.

You can install the package using ``pip install fastsort``. The library is in its early stages, and while further performance optimizations may be possible, it already achieves state-of-the-art performance, particularly on larger arrays, thanks to improved resource utilization.

### How to develop

- Use ``uv sync`` to install dependencies from the lock file.
- Use ``uv lock`` to update the lock file if necessary given the pinned dependencies.
- Use ``uv lock --upgrade`` to upgrade the lock file the latest valid dependencies.
- Use ``uv build `` to build the package.
- Use ``uv pip install --editable .`` to install the package.
- Use ``uv run pytest tests`` to test the local package.

During development its useful to run ``uv build && uv pip install --no-deps --force-reinstall  --editable .``, which builds and re-installs the built package.

### How to benchmark

- Use ``uv run bench/benchmark.py`` to run an individual benchmark.
- Use ``uv run bench/experiment.py`` to run an experiment of multiple benchmarks.
- Use ``uv run bench/visualize.py`` to plot experiment results.

Have a look at the individual scripts to learn about the configuration options.
image-capturer 0.1.3
A simple library to capture images using a webcam.
Requires Python: >=3.6
Keywords: webcam, image-capture, opencv, python

# 📸 Image-Capturer
A simple Python library to capture images using your webcam.
## 📖 Description
`image-capturer` is a lightweight Python library that enables users to easily capture images using their webcam. 
It's ideal for quick prototyping, computer vision projects, or personal use.
## ✨ Features
- Capture images using the default or specified webcam.
- Save the captured image to a specified file path.
- Minimal and easy to use.
## 🛠️ Installation
Install the library using pip:

```bash
pip install image-capturer

---

### 5. **Usage**
```markdown
## 🚀 Usage
Here's a simple example of how to use `image-capturer`:

```python
from image_capturer import capture_image

# Capture and save image to 'output.jpg'
capture_image('output.jpg')

---

### 6. **Project Structure**
```markdown
## 📁 Project Structure
image_capturer/
├── image_capturer/
│   ├── __init__.py
│   ├── capture.py
├── README.md
├── setup.py
├── LICENSE

---

### 7. **Contributing**
```markdown
## 🤝 Contributing
Contributions are welcome!  
1. Fork the repository.  
2. Create a new branch.  
3. Make your changes and commit them.  
4. Open a pull request.
conlang 0.4.0
A package for creating and manipulating constructed languages
Requires Python: >=3.7

# Conlang

![PyPI](https://img.shields.io/pypi/v/conlang)
![PyPI - Downloads](https://img.shields.io/pypi/dm/conlang)

Conlang is a Python library for creating and manipulating constructed languages.

## Installation

To install Conlang, run the following command:

```bash
pip install conlang
```

## Usage

Here is an example of how you can use Conlang to create and mutate a simple language:

```python
from conlang import Language, LanguageConfig, SoundChange

config = LanguageConfig.from_txt("config.txt")
language = Language("MyLanguage", config)
language.generate_vocabulary()

sound_change = SoundChange.from_txt("sound_change.txt")
mutated_vocabulary = sound_change.apply(language.vocabulary)
```

## Documentation

For more information on how to use Conlang, please refer to the [documentation](https://jgregoriods.github.io/conlang/).

## Contributing

If you would like to contribute to Conlang, please read the [contributing guidelines](CONTRIBUTING.md).

## License

Conlang is distributed under the terms of the [GNU General Public License v3.0](LICENSE).
tpconfig 0.1.9
Configuration management for TotalPath services
Requires Python: >=3.12

# Nopaque Config

A configuration management utility for Nopaque services. Install this into any application and provide the correct environment table name to be able to fetch, write, update and delete config data.

## Installation

```bash
pip install tpconfig
```

# Builds

Carry out the following:

Update the version in `config-package/src/__init__.py` and `config-package/setup.py`

1. `cd config-package`
2. `pip install setuptools twine`
3. `python setup.py sdist bdist_wheel`
4. `twine check dist/*`
6. `twine upload dist/*`
ebook-extractor 1.0.0
Export ebooks from any platform as PDF files or images.
Requires Python: >=3.12

# Ebook Extractor

Export ebooks from any platform as PDF files or images.

![poster](docs/_static/poster.png)

## Installation

```shell
pip install "ebook-extractor[app]"
```

## Usage

### Script

```shell
ebook-extractor
```

### Module

```shell
python -m ebook_extractor
```

### Build

```shell
pyinstaller -F -w -n EbookExtractor ebook_extractor_cli/__main__.py
```

## FAQ

### macOS Hotkeys are not Working

System Settings -> Privacy & Security -> Accessibility
wwpdb.utils.ws-utils 0.7
wwPDB remote services support library
Requires Python: >=3.8

# Utilities for OneDep remote services

[![Build Status](https://dev.azure.com/wwPDB/wwPDB%20Python%20Projects/_apis/build/status/wwPDB.py-wwpdb_utils_ws_utils?branchName=master)](https://dev.azure.com/wwPDB/wwPDB%20Python%20Projects/_build/latest?definitionId=3&branchName=master)

## Introduction

This repository povides the tools pertaining to remote API services

### Installation

Download the library source software from the project repository:

```bash

git clone --recurse-submodules https://github.com/wwpdb/py-wwpdb_utils_ws_utils.git

```

Optionally, run test suite using the Tox test runner

```bash
tox
```


Installation is via the program [pip](https://pypi.python.org/pypi/pip).

```bash
pip install wwpdb.utils.ws_utils

or from the local repository:

pip install .
```
wwpdb.utils.oe-util 0.9.0
wwPDB workflow engine utils
Requires Python: >=3.6

# OneDep OpenEye Utility Library

master: [![Build Status](https://dev.azure.com/wwPDB/wwPDB%20Python%20Projects/_apis/build/status/wwPDB.py-wwpdb_utils_oe_util?branchName=master)](https://dev.azure.com/wwPDB/wwPDB%20Python%20Projects/_build/latest?definitionId=9&branchName=master)

develop: [![Build Status](https://dev.azure.com/wwPDB/wwPDB%20Python%20Projects/_apis/build/status/wwPDB.py-wwpdb_utils_oe_util?branchName=develop)](https://dev.azure.com/wwPDB/wwPDB%20Python%20Projects/_build/latest?definitionId=9&branchName=develop)

## Introduction

This repository povides the tools and access to OneDep configuration environments.

### Installation

Download the library source software from the project repository:

```bash

git clone --recurse-submodules https://github.com/wwpdb/py-wwpdb_utils_oe_util.git

```

Optionally, run test suite using the Tox test runner

```bash
python setup.py test

or simply run

tox

Installation is via the program [pip](https://pypi.python.org/pypi/pip).

```bash
pip install wwpdb.utils.oe_util

or from the local repository:

pip install .
```

### Usage notes

The OpenEye library requires a license file to run. The *OE_LICENSE* environment should point to an active license.
django-discordbot 2.0.0.dev2
A discord bot integrated in Django
Requires Python: >=3.10

# django-discordbot

> [!NOTE]
> After the [death of discord.py](https://github.com/rafaelurben/django-discordbot/discussions/139) and the [rebirth of discord.py](https://github.com/rafaelurben/django-discordbot/discussions/161), discord.py V2 has been released! That means it's time for v2 of django-discordbot! 🎉

> [!WARNING]
> This bot is currently in a phase of transitioning from the old commands to the new app commands (slash commands).

------

[![PyPI](https://img.shields.io/pypi/v/django-discordbot)](https://pypi.org/project/django-discordbot)
![PyPI - Django Version](https://img.shields.io/pypi/djversions/django-discordbot)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/django-discordbot)
![PyPI - License](https://img.shields.io/pypi/l/django-discordbot)

![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/rafaelurben/django-discordbot)
![GitHub lines of code](https://img.shields.io/tokei/lines/github.com/rafaelurben/django-discordbot)
[![GitHub issues](https://img.shields.io/github/issues/rafaelurben/django-discordbot)](https://github.com/rafaelurben/django-discordbot/issues)
[![GitHub pull requests](https://img.shields.io/github/issues-pr/rafaelurben/django-discordbot)](https://github.com/rafaelurben/django-discordbot/pulls)

[![CodeFactor](https://www.codefactor.io/repository/github/rafaelurben/django-discordbot/badge)](https://www.codefactor.io/repository/github/rafaelurben/django-discordbot)

A Discord bot running in a django environment. The current version of the bot itself is German, but I might consider adding translations in the future.

Planned features can be found in the [project board](https://github.com/rafaelurben/django-discordbot/projects/1?fullscreen=true).

Feel free to open an issue or start a pull request. ;)

## Requirements

Python, django and discord.py knowledge.

## Documentation

You can find a documentation in the [docs folder](./docs/index.md).
python-musicpd 0.9.2
An MPD (Music Player Daemon) client library written in pure Python.
Requires Python: >=3.6
Keywords: mpd, Music Player Daemon

Music Player Daemon client module
*********************************

An MPD (Music Player Daemon) client library written in pure Python.

----

:Documentation: https://kaliko.gitlab.io/python-musicpd
:MPD Protocol:  https://www.musicpd.org/doc/html/protocol.html
:Code:          https://gitlab.com/kaliko/python-musicpd
:Dependencies:  None
:Compatibility: Python 3.6+
:Licence:       GNU LGPLv3
AfdianBot 1.0.4
爱发电Bot SDK
Requires Python: >=3.7

# AfdianBot-Core
一款轻量化，简单且易用的爱发电机器人库

## 快速入门
``` python
import AfdianBot

bot = AfdianBot.Bot(account="xxxxx", password="xxxx") # 填写账号密码

@bot.register("hello") # 注册一个指令
def hello(msg:AfdianBot.types.TextMsg):
    sender_name = AfdianBot.api.get_user_info(msg.sender_id)['name']
    bot.send_msg(f"hello {sender_name}!", msg.sender_id) # 回复消息至对方

# 在一般情况下，程序默认使用单线程模式，即一个一个处理回复
# 但在一些需要并发需求(即同时处理多个消息)情况时，你可以加上threded参数启用多线程模式
# bot.run(threded=True)
bot.run()
```
**更多文档内容详见[AfdianBot-Core文档](https://sun589.github.io/AfdianBot-Core)**
audio-recorder-k 0.1.0
A simple Python library for recording audio
Requires Python: >=3.6

# 🎙️ Audio Recorder - Python Library for Recording Audio  

[![PyPI version](https://badge.fury.io/py/audio-recorder.svg)](https://pypi.org/project/audio-recorder/)  
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)  
[![Python Version](https://img.shields.io/badge/python-3.6+-brightgreen.svg)](https://www.python.org/)  

## 🚀 Introduction  
**Audio Recorder** is a simple and lightweight Python package that allows you to record audio and save it as a WAV file.  
Built using `pyaudio`, it provides a convenient way to capture audio with minimal setup.  

## 🎯 Features  
✅ Record audio using Python  
✅ Save recordings as WAV files  
✅ Adjustable recording duration and sample rate  
✅ Supports different audio channels  

## 📦 Installation  

### **1️⃣ Install from PyPI**  
```sh
pip install audio-recorder
2️⃣ Install from Source (GitHub)
sh
Copy
Edit
git clone https://github.com/Keshab-Kumar/audio_recorder.git
cd audio_recorder
pip install -e .
🎤 Usage
Basic Example
python
Copy
Edit
from audio_recorder import AudioRecorder

recorder = AudioRecorder(duration=5)  # Records for 5 seconds
recorder.record()  # Saves the recording in the "output" folder
Custom Settings
python
Copy
Edit
recorder = AudioRecorder(duration=10, sample_rate=48000, channels=1, output_file="output/custom_audio.wav")
recorder.record()
📂 Output
All recorded files will be stored in the output/ directory.

🛠 How It Works
1️⃣ Opens an audio input stream.
2️⃣ Records audio for the given duration.
3️⃣ Saves the audio as a .wav file in the output/ folder.

🐞 Troubleshooting
If you encounter issues with pyaudio, try installing it manually:

sh
Copy
Edit
pip install pipwin
pipwin install pyaudio
📝 License
This project is licensed under the MIT License.

🔗 Links
📂 GitHub: audio_recorder

📖 PyPI (after publishing): audio_recorder
Test-site 0.0.0
test some small experiments
Requires Python: <4.0,>=3.11

# Test-site

👉\[\[\[**This is the initial readme for your
[simple-modern-uv](https://github.com/jlevy/simple-modern-uv) template.** Fill it in and
delete this message!
Below are general setup instructions that you may remove or keep and adapt for your
project.\]\]\]

* * *

## Installing uv and Python

This project is set up to use [**uv**](https://docs.astral.sh/uv/), the new package
manager for Python. `uv` replaces traditional use of `pyenv`, `pipx`, `poetry`, `pip`,
etc. This is a quick cheat sheet on that:

On macOS or Linux, if you don't have `uv` installed, a quick way to install it:

```shell
curl -LsSf https://astral.sh/uv/install.sh | sh
```

For macOS, you prefer [brew](https://brew.sh/) you can install or upgrade uv with:

```shell
brew update
brew install uv
```

See [uv's docs](https://docs.astral.sh/uv/getting-started/installation/) for more
installation methods and platforms.

Now you can use uv to install a current Python environment:

```shell
uv python install 3.13 # Or pick another version.
```

## Development Workflows

For development workflows, see [development.md](development.md).

For instructions on publishing to PyPI, see [publishing.md](publishing.md).

* * *

*This project was built from
[simple-modern-uv](https://github.com/jlevy/simple-modern-uv).*
pkg-test-random 0.1.0
A simple example package
Requires Python: >=3.9

# This is pkg-test-random

NOTE: before giving the name to packge please check whether package name is available or not to upload

1. Install Required Tools
Make sure you have twine and build installed:

bash
pip install -f twine build

2. Build Your Package
Navigate to your project folder and run:

python -m build

3. Create a PyPI Account
Go to PyPI and sign up.

    1. Enable 2FA on PyPI
    Go to PyPI Account Settings.

    Under "Two-factor Authentication", enable TOTP (Time-based One-Time Passwords).

    Scan the QR code with an authenticator app (like Google Authenticator or Authy).

    Enter the generated 6-digit code to confirm.

    2. Generate an API Token
    After enabling 2FA, go back to Account Settings.

    Scroll down to "API tokens" and click "Add API Token".

    Give it a name (e.g., mypackage-publish).

    Copy the generated token immediately, as it won’t be shown again.

    Generate an API token under Account Settings.

4. Upload the Package
    1. Run the following command and enter your credentials when prompted:
    bash
    twine upload dist/*

    2. If using an API token, run:
    bash
    twine upload dist/* -u __token__ -p YOUR_API_TOKEN
    
    3. For security, you can store the token in ~/.pypirc:

    [distutils]
        index-servers =
            pypi

    [pypi]
        username = __token__
        password = YOUR_API_TOKEN

    Once you've stored the API token in ~/.pypirc, you can upload your package without manually entering credentials by running:
    bash
    twine upload dist/*

    Since twine automatically reads the credentials from ~/.pypirc, it will use the stored API token without requiring manual input.