semvec/pypi-packages huggingface dataset:
EasyExcelExport 1.0.1
export excel sheets to json
Requires Python: >=3.8

\n## TODO
- [x] 添加：根据cmd表单，形成任务列表的功能
- [x] 添加：获取Sheet信息
- [x] 添加：#注释掉列的功能
- [x] 添加：#注释掉行的功能

- [x] 增强：Header垂直到尾的判断能力

- [x] 添加：parse单元格内Json字符串的功能
- [x] 添加：根据表头的类型标注转换单元格value的功能

- [x] 添加：将多个相同ID表头的行合并伪一个list的功能
- [x] 添加：OneFilePerLine的功能
- [ ] 添加：命令行读取参数，处理Excel文件的功能
- [ ] 添加：bat脚本
- [ ] 打包发布到Pypi

## 说明
### cmd表单说明
* cmd是管理导出任务的默认表单
* 保证第一行和第一列没有被空单元格间断（合并单元格里的所有单元格都是非空）
    * 第一行：h标明表头的范围
* 表头说明：
    * Task：任务标记
    * SheetName：任务所对应的表单名称
    * Export：是否执行导出
    * OneFilePerLine：是否将一行导出为一个文件
    * IgnoreEmptyCell：是否忽略空的单元格
    * OutputFolder：导出json所放置的文件夹

### 对象表单说明
* Id区：Id（不区分大小写）表头是数据标志列，该列的数据会作为数据的唯一标识符
* Header区：从第1行到h标志结束所在行，从Id列后一列到数据中断的列，是Header区域
* Content区：Header末行以下、Id列以右的区域
* 保证第一行和第一列没有被空单元格间断（合并单元格里的所有单元格都是非空）
    * 第一列的最后一个h，标记表头结束的行
* 使用#注释行列：
    * 如果用#开头，则该行或该列会被忽略；合并单元的话，该合并单元格所覆盖的列都会被忽略。
* 表头数据填写：
    * 默认分隔符是"-"：没有分隔符，则该表头的名称是整个单元格；有，则是分隔后的第一个
    * 标注数值类型：支持标注int/str/float三种数值类型
    * 标注数据结构类型：
        * 支持标注dict/list两种数据结构类型
        * dict类型可以不标注，因为默认就是dict类型
* 支持单元格类填写json数据
    * 默认会检查单元格内的数据，如果是被[]/{}包围，将以json5解析该单元格的数据
    * 因为是用json5作为解析工具，所以单元格里字典的key可以不用加""，默认都会加，即使是用None、null做为key


### 其他
* 合并单元格直接对应多列数据：如果一个合并单元格已经是表头的垂直末尾，则该表头对应的多列数据会默认被放到一个list里
* 重复Id处理：
    * OneFilePerLine：后边的数据会覆盖前边的数据
    * 非OneFilePerLine：重复的数据会被按顺序放到一个list里
* 空表头处理：
    * 如果数据向上追溯碰到的第一个非空表头是list，则该数据会被放到一个list里
    * 如果数据向上追溯碰到的第一个非空表头是dict，则该数据会被放到一个以None为Key的键值对里。注意：多个空表头会导致最后一个空表头覆盖前边的空表头
    * 如果在表头的拆分字符串里出现None/Null（不区分大小写），该表头会被当做空表头处理。（这么做是方便做备注，同时保留所需要的空表头）
* 按Id列输出列表（只适用于不是OneFilePerLine的情形）：
    * 在(1, 1)输入{abcd:[]}（abcd可以用其他字母替换），脚本会以该格式作为包裹，将id列的值放到列表里；id列的健会被略去，因为外层是一个list。
    * 这个功能主要用于：从根节点开始就非常需要把内容进行列表排序，而不需要键值对查询的。外包了一层字典，保留拓展性
* 暂不实现忽略空单元格的功能，涉及比较复杂的情况

### 测试
* clone下来后，在src文件夹下，执行python setup.py install
* 执行Sheet.py
g3t 0.1
Gadget3 read routines & other scripts.
Requires Python: >=3.7

# g3t
Fork of Antonio Ragagnin's g3t repository (https://github.com/kyleaoman/g3t), turning it into an installable python package.

**Installation:**
From pypi:
 - 'pip install g3t'

From github:
 - Download via web UI, or 'git clone https://github.com/kyleaoman/g3t.git'
 - Install dependencies if necessary (see setup.py).
 - Global install (Linux): 
   - cd to directory with 'setup.py'
   - run 'sudo pip install -e .' (-e installs via symlink, so pulling repository will do a 'live' update of the installation)
 - User install (Linux):
   - cd to directory with 'setup.py'
   - ensure '~/lib/python3.7/site-packages' or similar is on your PYTHONPATH (e.g. 'echo $PYTHONPATH'), if not, add it (perhaps in .bash_profile or similar)
   - run 'pip install --prefix ~ -e .' (-e installs via symlink, so pulling repository will do a 'live' update of the installation)
 - cd to a directory outside the module and launch python; you should be able to do 'from g3t import *'
hdecompose 0.1.0
Hydrogen decomposition to HI, H2.
Requires Python: >=3.7

# Hdecompose
Decomposition of Hydrogen content of simulation particles into neutral/ionized and atomic/molecular. Implementations of Blitz & Rosolowsky (2006) and Rahmati et al (2013).

**Installation:**

From pypi:
 - 'pip install hdecompose'

From github:
 - Download via web UI, or 'git clone https://github.com/kyleaoman/Hdecompose.git'
 - Install dependencies if necessary (see 'setup.py'), some may be found in other repositories by kyleaoman.
 - Global install (Linux): 
   - cd to directory with 'setup.py'
   - run 'sudo pip install -e .' (-e installs via symlink, so pulling repository will do a 'live' update of the installation)
 - User install (Linux):
   - cd to directory with 'setup.py'
   - ensure '~/lib/python3.7/site-packages' or similar is on your PYTHONPATH (e.g. 'echo $PYTHONPATH'), if not, add it (perhaps in .bash_profile or similar)
   - run 'pip install --prefix ~ -e .' (-e installs via symlink, so pulling repository will do a 'live' update of the installation)
 - cd to a directory outside the module and launch python; you should be able to do 'from Hdecompose import *'
omnisolver-bruteforce 0.0.3
Bruteforce (a.k.a. exhaustive search) Plugin for Omnisolver
Requires Python: <3.10,>=3.7


![Logo](https://raw.githubusercontent.com/euro-hpc-pl/omnisolver/master/logo.png)
*Bruteforce (a.k.a. exhaustive search) Plugin for [Omnisolver](https://github.com/euro-hpc-pl/omnisolver)*


## Installation 

Currently, the `omnisolver-bruteforce` package requires working CUDA installation.

To install the plugin first set the `CUDAHOME` environmental library to your CUDA instalaltion location, e.g.:

```shell
# Rmember, your actual location  may vary!
export CUDAHOME=/usr/local/cuda
```

and then run:

```shell
pip install omnisolver-bruteforce
```

> **Warning**
> If you don't set the `CUDAHOME` directory, an attempt will be made to deduce it based on the location of your `nvcc` compiler.
> However, this process might not work in all the cases and should not be relied on.

## Command line usage

```text
usage: omnisolver bruteforce-gpu [-h] [--output OUTPUT] [--vartype {SPIN,BINARY}] [--num_states NUM_STATES] [--suffix_size SUFFIX_SIZE] [--grid_size GRID_SIZE]
                                 [--block_size BLOCK_SIZE] [--dtype {float,double}]
                                 input

Bruteforce (a.k.a exhaustive search) sampler using CUA-enabled GPU

positional arguments:
  input                 Path of the input BQM file in COO format. If not specified, stdin is used.

optional arguments:
  -h, --help            show this help message and exit
  --output OUTPUT       Path of the output file. If not specified, stdout is used.
  --vartype {SPIN,BINARY}
                        Variable type
  --num_states NUM_STATES

```

## Citing

If you used the Omnisolver package or one of its plugins, please cite:

```text
@misc{https://doi.org/10.48550/arxiv.2112.11131,
  doi = {10.48550/ARXIV.2112.11131},
  
  url = {https://arxiv.org/abs/2112.11131},
  
  author = {Jałowiecki, Konrad and Pawela, Łukasz},
  
  keywords = {Software Engineering (cs.SE), Quantum Physics (quant-ph), FOS: Computer and information sciences, FOS: Computer and information sciences, FOS: Physical sciences, FOS: Physical sciences},
  
  title = {Omnisolver: an extensible interface to Ising spin glass solvers},
  
  publisher = {arXiv},
  
  year = {2021},
  
  copyright = {arXiv.org perpetual, non-exclusive license}
}
```