semvec/pypi-packages huggingface dataset:
streamlit-decision-tree 0.0.1
Condition Tree Builder for Streamlit
Requires Python: >=3.7


Based on [react-awesome-query-builder](https://github.com/ukrbublik/react-awesome-query-builder)

![image](https://github.com/cedricvlt/streamlit-condition-tree/assets/49170088/99ffb012-f682-48a9-a7b6-2d11731f0268)



## Install

`pip install streamlit-condition-tree`


## Features
- Highly configurable
- Fields can be of type:
  - simple (string, number, bool, date/time/datetime, list)
  - structs (will be displayed in selectbox as tree)
- Comparison operators can be:
  - binary (== != < > ..)
  - unary (is empty, is null)
  - 'between' (for numbers, dates, times)
  - complex operators like 'proximity'
- RHS can be:
  - values
  - another fields (of same type)
  - functions (arguments also can be values/fields/funcs)
- LHS can be field or function
- Reordering (drag-n-drop) support for rules and groups of rules
- Export to MongoDb, SQL, JsonLogic, SpEL or ElasticSearch

## Basic usage

```python
import streamlit as st
from streamlit_condition_tree import condition_tree


config = {
    'fields': {
        'name': {
            'label': 'Name',
            'type': 'text',
        },
        'qty': {
            'label': "Age",
            'type': "number",
            'fieldSettings': {
                'min': 0
            },
            'valueSources': ["value"],
            'preferWidgets': ["number"]
        },
        'like_tomatoes': {
            'label': "Like tomatoes",
            'type': "boolean",
            'operators': ["equal"],
            'valueSources': ["value"]
        }
    }
}

return_val = condition_tree(
    config,
    return_type='sql'
)

st.write(return_val)
```

## API

### Parameters

```python
def condition_tree(
    config: Dict
    return_type: str
    tree: Dict
    min_height: int
    placeholder: str
    key: str
)
```

- **config**: Python dictionary that resembles the JSON counterpart of
  the React component [config](https://github.com/ukrbublik/react-awesome-query-builder/blob/master/CONFIG.adoc).  
*Note*: Javascript functions (ex: validators) are not yet supported.


- **return_type**: Format of the returned value :
  - queryString
  - mongodb
  - sql
  - spel
  - elasticSearch
  - jsonLogic


- **tree**: Input condition tree (see section below)


- **min_height**: Minimum height of the component frame


- **placeholder**: Text displayed when the condition tree is empty


- **key**: Fixed identity if you want to change its arguments over time and not have it be re-created.  
Can also be used to access the generated condition tree (see section below).


### Export & import a condition tree

When a key is defined for the component, the condition tree generated is accessible through `st.session_state[key]` as a dictionary.  
It can be loaded as an input tree through the `tree` parameter.
kingnest 0.0.9
A small example nester
Requires Python: >=3.7

# Ultramax Package

This is a nester package. You can use
[Github-flavored Markdown](https://guides.github.com/features/mastering-markdown/)
to write your content.


|-- package/
|   |-- dist/
|   |-- src/
|   |   |-- kingnest/
|   |   |   |-- __init__.py
|   |   |   |-- nest.py
|   |   |   |-- 更多模块.py
|   |-- test/
|   |-- LICENSE
|   |-- pyproject.toml
|   |-- README.md

目录结构
package/：这是项目的根目录。
  dist/：这个目录将包含打包的文件，包括源码分发包（.tar.gz 文件）和轮子分发包（.whl 文件）。这些文件是通过运行 python -m build 生成的。
  src/：这个目录包含你的源代码。这是一种常见的目录结构，可以帮助避免一些 Python 导入问题。
    kingnest/：这是包的主目录，它包含 Python 源代码。这个目录的名称应该与包名称一致。
      __init__.py：这个文件是一个特殊的文件，它标记 kingnest/ 目录为一个 Python 包，这样它就可以作为一个模块导入了。这个文件可以为空，或者包含初始化代码。
      nest.py：这是主要 Python 文件。递归函数在这里。
      module1.py: 类和其他代码应在这里
      module2.py:
      module3.py:
  test/：这个目录包含单元测试。
  LICENSE：这个文件列出项目采用的开源许可证。这是非常重要的，因为它定义了其他人可以如何使用你的代码。
  pyproject.toml：这是项目的配置文件。在这里，定义项目的元数据（如名称、版本、作者等）以及项目的依赖关系。
  README.md：这个文件应该包含项目的介绍和使用说明。这是项目的主要文档，尽可能详细和清晰。



Python 模块打包发布到PyPI：

1.  组织代码
目录结构如上

2.  创建 pyproject.toml
pyproject.toml 是 Python 包的配置文件。在这个文件中指定包的名称、版本、作者、许可证等信息，以及包的依赖关系。
现在 Python 社区推荐使用 pyproject.toml，因为它提供了一种更标准化和灵活的方式来管理包的配置。

3.  创建 README.md 和 LICENSE
在项目根目录下创建一个 README.md 文件，说明包是什么，以及如何使用它，并包含一个 LICENSE 文件，指明包的许可证。

4.  使用 build 命令来打包你的项目。首先，需要安装 build 模块：
    ```
    pip install build
    ```
    然后，在你的项目根目录下运行以下命令来打包你的项目：
    ```
    python -m build
    ```
    这将会在 dist/ 目录下创建一个源代码分发包（.tar.gz 文件）和一个轮子分发包（.whl 文件）。

5.  使用 twine 命令来发布包到 PyPI（Python Package Index）。首先，你需要安装 twine：
    ```
    pip install twine
    ```
    然后，可以运行以下命令来上传你的包：
    ```
    twine upload dist/*
    ```

在这个过程中，要输入 PyPI 用户名和密码。如果还没有 PyPI 账户，可以在 PyPI 网站上创建一个。
启用两用验证后，必须使用API令牌登录
用户名设为 __token__
密码设置为令牌值，包括pypi-前缀

如果使用Twine来将程序上传至PyPI，像这样来设置$HOME/.pypirc文件，每次上传模块就不用输入用户名密码了。
[pypi]
  username = __token__
  password = pypi-*****

在Linux操作系统中，$HOME是一个环境变量，它指向当前用户的主目录。通常，这个目录位于/home目录下。
当您在终端中执行cd命令时，它会将当前工作目录更改为HOME所指示的目录。

从官方源安装
pip install -i https://pypi.org/simple/ kingnest==0.0.6

临时使用
```
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
```

从文件安装
pip install -r requirements.txt
lizhiphysics 0.1.1
A light weight command physics that supports Windows, MacOS, and Linux
Keywords: python,physics,荔枝,windows,mac,linux,phy,math,v


# lizhiphysisc

This is a lizhi's physics package. You can use
[https://github.com/bigsblizihang/lizhiphysics.git](https://github.com/features/mastering-markdown/)
to get the .whl and .tar.gz, or the code .