semvec/pypi-packages huggingface dataset:
solidkit 1.0.0.dev40
Solid-state Physics Simulation ToolKit
Requires Python: >=3.9

# SolidKit: A Modern Toolkit for Solid-State Physics

SolidKit is an easy-to-use Python package designed to streamline common tasks in solid-state physics and materials science. It provides a convenient command-line interface for generating complex structures like grain boundaries and polycrystals, as well as calculating material properties such as hardness.

## Installation

You can install SolidKit directly from the Python Package Index (PyPI).

### Stable Version

To install the latest stable release, use pip:

```bash
python -m pip install solidkit
```

### Development Version

For the latest features and updates, you can install the pre-release version:

```bash
python -m pip install --pre solidkit
```

## Command-Line Autocompletion (Optional)

SolidKit supports command-line autocompletion to help you discover and use its features more efficiently. This is provided by the `argcomplete` package.

### 1\. Install argcomplete

First, ensure you have `argcomplete` installed:

```bash
python -m pip install argcomplete
```

### 2\. Activate Autocompletion

Run the following command in your terminal, and restart your shell. This is a one-time setup that enables completion for all supported Python applications. 

```bash
activate-global-python-argcomplete
```

Once activated, you can type `python -m solidkit` followed by a space and press the `Tab` key to see a list of available commands and options.

## How to Use

SolidKit can be used directly from your terminal. The general syntax is:

```bash
python -m solidkit [COMMAND] [OPTIONS]
```

**Example:**

1. Generate a twin boundary.

```bash
python -m solidkit boundary -f diamond.cif --plane 1 1 1 -o output.vasp
```

2. Estimate the Vickers hardness.

```bash
python -m solidkit hardness -f diamond.cif --method simunek
```
line-planner 1.1.6
SIF航线规划器 - 基于v1.1.0简化版本，专注稳定性和性能
Requires Python: >=3.8
Keywords: flight planning, waypoint, drone, UAV, KML, path planning, GIS

# LinePlanner - SIF航线规划器

基于v1.1.0的简化版本，专注稳定性和性能。

## 快速开始

### 标准输入模式（推荐）

```bash
# 直接JSON配置
echo '{"kml_file":"boundary.kml","line_spacing":25,"rotation_angle":0,"save_dir":"./output"}' | uv run python interface.py

# 通过配置文件
echo "config.json" | uv run python interface.py
```

### 安装使用

```bash
# 从PyPI安装
pip install line-planner

# 使用uv安装（推荐）
uv add line-planner
```

## 主要特点

- ✅ **简化架构**: 从1896行代码简化到388行，删除复杂功能
- ✅ **稳定可靠**: 基于经过验证的v1.1.0版本
- ✅ **性能优化**: 运行速度快，内存占用低
- ✅ **URL支持**: 支持从HTTP/HTTPS链接下载KML文件
- ✅ **蛇形路径**: 自动优化的飞行路径生成
- ✅ **内置可视化**: 自动生成航线图像

## 配置示例

```json
{
  "kml_file": "boundary.kml",
  "line_spacing": 25,
  "rotation_angle": 0,
  "save_dir": "./output"
}
```

## Python API

```python
from line_planner import StandalonePlanner, StandaloneBoundaryParser

# 解析KML边界
parser = StandaloneBoundaryParser()
lats, lons = parser.parse_kml_coordinates("boundary.kml")

# 规划航线
planner = StandalonePlanner()
turn_points = planner.plan_flight_lines(
    boundary_lats=lats,
    boundary_lons=lons,
    line_spacing=25.0,
    rotation_angle=0.0
)
```

## 开发

```bash
# 克隆项目
git clone https://github.com/1034378361/WayPointPlanning3.git
cd WayPointPlanning3

# 安装依赖
uv sync --dev

# 运行测试
echo '{"kml_file":"test.kml","line_spacing":25,"rotation_angle":0,"save_dir":"./test_output"}' | uv run python interface.py
```

## 许可证

MIT License
lib-sudoku 2.2.0
A blazing fast sudoku library buit in rust
Requires Python: >=3.8

# lib_sudoku

A python library built in rust to read, solve, and generate sudoku puzzles.

It can read and solve 9 million puzzles in under 10 seconds.

## Installation

For easy installation, run:
```bash
pip install lib_sudoku
```

If you prefer, you can build the code yourself from source. To do this, run
```bash
git clone https://github.com/shaggysa/lib_sudoku.git
cd lib_sudoku
maturin build --release
pip install target/wheels/lib_sudoku*.whl
```

## Basic Usage

A solver function, generator function, and reader class are currently available. A sample of python code to test each of these functions is available below:

First, import the sudoku library and the time library:

```python
import lib_sudoku as sudoku
import time
```

Then, create a puzzle reader class with the puzzles you want to solve:

```python
reader = sudoku.PuzzleReader("https://raw.githubusercontent.com/shaggysa/lib_sudoku/master/puzzles.csv", True)
```

To test the solver, run a speedtest function and pass in the reader:

```python
sudoku.async_speedtest(reader)
sudoku.synchronous_speedtest(reader)
```

To test the generator, simply call the gen_unsolved function and pass in the number of hints you want the final puzzle to have

you can also time it if you would like:
```python
num_hints = 24
start_gen = time.time()
sudoku.gen_unsolved(num_hints)
print(f"Generated a puzzle with {num_hints} hints in {(time.time() - start_gen)*1000} milliseconds.")
```

Note that the less hints you want in your unsolved puzzle, the longer it will take for the generator to make it.

In my testing, it usually takes under a millisecond to generate a puzzle with 30 hints, but it can take up to 50ms for a puzzle with 24 hints.

Generating puzzles with under 23 hints does not work because it will get stuck.

Note: If you want to try out the speedtest function on the large (9 million puzzle dataset), you can download it at https://www.kaggle.com/datasets/rohanrao/sudoku.

Just make sure to move the extracted file into your working directory and to adjust the PuzzleReader class parameters to be ("sudoku.csv", False)
SQLExecutorX 1.8.6
A easy、simple thread safe sql executor for Python with connection pool. Support MySQL, PostgreSQL, SQLite etc.
Requires Python: >=3.6
Keywords: SQL, MySQL, PostgreSQL, SQLite, Database, Python, RDB

Usage Sample
''''''''''''

.. code::

       import sqlexecutorx as db

       if __name__ == '__main__':
          db.init('test.db', driver='sqlite3', debug=True)

          # or
          db.init("postgres://user:password@127.0.0.1:5432/testdb", driver='psycopg2', pool_size=5, debug=True)

          # or
          db.init(host='127.0.0.1', port='5432', user='xxx', password='xxx', database='testdb', driver='psycopg2')

          # if driver is 'pymysql' or 'mysql.connector' of MySQL, the select_key is 'SELECT LAST_INSERT_ID()'
          select_key = "SELECT currval('person_id_seq')"

          id = db.save(select_key, 'INSERT INTO person(name, age) VALUES(%s,%s)', 'wangwu', 38)

          persons = db.select('select id, name, age from person')
          # result:
          # (3, 'zhangsan', 15)
          # (4, 'lisi', 26)
          # (5, 'wangwu', 38)
          # (6, 'zhaoliu', 45)

          persons = db.select_first('select id, name, age from person where name = %s', 'zhangsan')
          # result:
          # (3, 'zhangsan', 15)

          args = [
           ('李四', 55),
           ('王五', 35),
          ]
          db.batch_execute('INSERT INTO person(name,age) VALUES(%s,%s)', *args)

          db.close()

Transaction
''''''''''''

.. code::

       from sqlexecutorx import trans

       @trans
       def test_transaction():
          insert_func(....)
          update_func(....)


       def test_transaction2():
          with trans():
              insert_func(....)
              update_func(....)


If you want to use ORM, may be you need SQLORMX: https://pypi.org/project/sqlormx

If you want to operate MySQL database, may be you need MySQLX: https://pypi.org/project/mysqlx

If you want to operate PostgreSQL database, may be you need PgSQLX: https://pypi.org/project/pgsqlx

If you just wanted a simple sql executor, may be you need SQLExecX: https://pypi.org/project/sqlexecx

If you wanted simultaneously support MySQL and PostgreSQL, may be you need BatisX: https://pypi.org/project/batisx