semvec/pypi-packages huggingface dataset:
previsedx-quantstudio-file-utils 0.1.3
Collection of modules for processing QuantStudio files.
Requires Python: >=3.10
Keywords: previsedx_quantstudio_file_utils

================================
PreviseDx QuantStudio File Utils
================================

Collection of Python modules for processing QuantStudio files

.. image:: use_cases.png
    :alt: Use Case Diagram
    :align: center


.. image:: class_diagrams.png
    :alt: Class Diagram
    :align: center


Usage
-----
.. code-block:: python

    import os
    from previsedx_quantstudio_file_utils import QuantStudioXlsxParser as Parser
    from previsedx_quantstudio_file_utils import constants
    import yaml
    from pathlib import Path

    config_file = "conf/config.yaml"
    if not os.path.exists(config_file):
        config_file = constants.DEFAULT_CONFIG_FILE
    config = yaml.safe_load(Path(config_file).read_text())

    parser = Parser(
        config=config,
        config_file=config_file,
        logfile=logfile,
        outdir=outdir,
        outfile=outfile,
        verbose=constants.verbose,
    )

    infile = "quantstudio.xls"
    records = parser.get_records(infile)
    for record in records:
        print(f"Quantity mean is '{record.quantitymean}' for sample '{record.samplename}'")


=======
History
=======

0.1.0 (2024-09-08)
------------------

* First release on PyPI.
alist-sdk 0.42.20
Alist API 简单封装.
Requires Python: >=3.10

# Alist Sdk

[![Alist SDK - Test](https://github.com/lee-cq/alist-sdk/actions/workflows/CI.yaml/badge.svg)](https://github.com/lee-cq/alist-sdk/actions/workflows/CI.yaml)

Alist API 简单封装

## [Alist API 文档](https://alist.nn.ci/zh/guide/api/)

## 安装

从PyPI安装最新release版本  
`pip install alist-sdk`

从GitHub安装dev版本  
`pip install git+https://github.com/lee-cq/alist-sdk.git`

## 使用

客户端或异步客户端方法签名于API基本一致。

```python
# Sync 模式
from alist_sdk import Client

client = Client(
    base_url='http://localhost:5244',
    username="",
    password="",
    token="",  # 与 Username Password 二选一
)

client.me()
client.mkdir("/local/test")
```

```python
# Async 模式
import asyncio
from alist_sdk import AsyncClient

client = AsyncClient(
    base_url='http://localhost:5244',
    username="",
    password="",
    token="",  # 与 Username Password 二选一
)

asyncio.run(client.me())
```

像使用pathlib一样操作Alist上的文件。
但是需要注意的是，AlistPath全部使用的同步方法（与Pathlib API保持一致）。
如果需要异步操作，可以使用`asyncio.to_thread`将同步方法转为异步方法。

```python
from alist_sdk.path_lib import login_server, AlistPath

# 登录方式1
login_server("http://localhost:5244", username='admin', password='123456')
path = AlistPath('http://localhost:5244/test')

# 登录方式2 version > 0.36.13
path = AlistPath('http://localhost:5244/test', username='admin', password='123456')

path.stat()
path.is_dir()
path.read_text()
path.iterdir()
```

## 命令行工具 [开发中]

Alist SDK 提供了2个命令行工具，可以方便的操作Alist。

1. `alist-cli`：命令行工具，可以快速的操作Alist。
2. `alist-fs`：(`alist-cli fs` 的别名)文件相关操作，包括上传、下载、删除、查看文件信息等。

```
Usage: alist-cli [OPTIONS] COMMAND [ARGS]...
Options:
│ --install-completion          Install completion for the current shell.                                                                                                                                                            │
│ --show-completion             Show completion for the current shell, to copy it or customize the installation.                                                                                                                     │
│ --help   
    
Commands:
│ admin   管理命令                                                                                                                                                                                                                   │
│ auth    Authentication commands.                                                                                                                                                                                                   │
│ fs      文件系统相关操作  
```
previsedx-esopredict-pdf-file-utils 0.1.1
Collection of Python modules for processing PreviseDx Esopredict PDF final report files.
Requires Python: >=3.10
Keywords: previsedx_esopredict_pdf_file_utils

===================================
PreviseDx Esopredict PDF File Utils
===================================

Collection of Python modules for processing PreviseDx Esopredict PDF files


Usage
-----

.. code-block:: python

    # from pdfrw import PdfReader, PdfWriter
    from previsedx_esopredict_pdf_file_utils import EsopredictPDFWriter as Writer
    from previsedx_esopredict_pdf_file_utils import constants
    import yaml
    import os

    config_file = constants.DEFAULT_CONFIG_FILE

    # Load configuration file into dictionary.
    config = yaml.safe_load(open(config_file))

    outdir = os.path.join(
        constants.DEFAULT_OUTDIR_BASE,
        os.path.basename(__file__),
        constants.DEFAULT_TIMESTAMP,
    )

    # Create the output directory if it does not exist
    os.makedirs(outdir, exist_ok=True)

    # Output path for the populated PDF
    outfile = os.path.join(outdir, "populated_output.pdf")

    writer = Writer(
        config=config,
        config_file=config_file,
        outdir=outdir,
        outfile=outfile,
        verbose=True,
    )

    lookup = {
        "patient_name": "John Doe",
        "date_of_birth": "2024-01-02",
        "provider_name": "Dr. Jack Tripper",
        "gender": "Male",
        "medical_record_id": "12345",
        "previse_lab_id": "11112",
        "specimen_id": "7890",
        "collection_date": "2024-01-02",
        "date_received": "2024-02-02",
        "date_reported": "2024-03-02",
        "clinic": "Johns Hopkins Medical Center",
        "address": "123 Main St",
        "city_state_zip": "Baltmore, MD 12345",
        "treating_provider": "Dr. Smith",
        "barretts_diagnosis": "Something, Yes",
        "segment_length": "1.2",
        "risk_level": "High",
        "range_score": "8",
        "five_year_probability_of_progression": "14%",
        "notes": "Some notes from provider",
    }

    writer.write_file(**lookup)


=======
History
=======

0.1.0 (2024-09-08)
------------------

* First release on PyPI.
pyprnn 0.0.2
Physically Recurrent Neural Networks
Requires Python: >=3.9

# Physically Recurrent Neural Networks

<p align="center">
<img src="https://raw.githubusercontent.com/MarinaMaia2021/supportMaterial/main/multiscaleWithPRNN.gif" width="75%" height="75%"/>
</p>

**Intact** constitutive models embedded in an encoder-decoder MLP architecture.

If you have accurate material models at the microscale and would like to perform computational homogenization, those same models can be directly embedded into a hybrid architecture to make macroscale predictions.

Because the models in the architecture are the exact same as in the micromodel, a number of features can be directly inherited and therefore not learned from data:

- Path dependency (loading/unloading/reloading) without training for it
- Strain rate dependency while training with only a single rate
- Consistent step size dependence (independent for inviscid models; correct dependence for viscous models)
- Between $10\times$ and $100\times$ less training data than RNNs for comparable performance

<p align="center">
<img src="https://raw.githubusercontent.com/MarinaMaia2021/supportMaterial/main/matPoint_2d_paper1.gif" width="75%" height="75%"/>
</p>

## Journal papers and preprints

- MA Maia, IBCM Rocha, P Kerfriden, FP van der Meer (2023), [PRNNs for 2D composites, elastoplastic](https://www.sciencedirect.com/science/article/pii/S0045782523000579)

- MA Maia, IBCM Rocha, FP van der Meer (2024), [PRNNs for 3D composites, finite-strain thermoviscoplasticity, creep and fatigue](https://www.sciencedirect.com/science/article/pii/S0167663624002370)

- N Kovacs, MA Maia, IBCM Rocha, C Furtado, PP Camanho, FP van der Meer (2024), [PRNNs for micromodels including distributed cohesive damage](https://arxiv.org/abs/2410.13774)

- MA Maia, IBCM Rocha, D Kovacevic, FP van der Meer (2024), Reproducing creep and fatigue experiments in thermoplastics using PRNNs -- **COMING SOON**

## In this package

The code in this package contains a standalone demonstration of PRNNs for a 2D micromodel with $J_2$ elastoplasticity (matrix) and linear elasticity (fibers):

- `J2Tensor_vect.py`: a simple $J_2$ plasticity model in plane stress. This code comes directly from an FE package, demonstrating how PRNNs can embed existing material models with little to no changes in code;
- `prnn.py`: A PyTorch network class that implements the PRNN, with single-layer encoder and decoder; 
- `rnn.py`: Implements GRU and LSTM networks with variational Gaussian dropout. For comparing predictions and learning performance with PRNNs;
- `utils.py`: Implements a custom dataset class for handling stress and strain paths, and a class for training and evaluating networks, with the ability of saving and loading checkpoints;
hyte 0.2.0
LLM-based hypothesize-test-evaluate automation.
Keywords: llm, optimisation, whittle laboratory, reasoning, experimentation, scientific method


![HyTE Logo](https://i.imgur.com/VuzljTm.gif)

## Description:
Automation of LLM-based Hypothesize-Test-Evaluate methodology.
<br/><br/>

#### Process Diagram:
<img src="https://i.imgur.com/i2e2Z0k.png" width=40%>

Models create a hypothesis, test it experimentally, and evaluate whether the results support their original idea. This new information is fed back into the Hypothesis LLM, giving it further context for its next hypothesis. This loop occurs `ITERATION` number of times. <br/><br/>This methodology and tooling is (mostly) field, experiment and model agnostic.

## Installation:
The package is available through [PyPI](https://pypi.org/project/HyTE/0.0.1/).<br/>It is installed with the following command:
```
pip install HyTE
```

## Usage:

Primary usage only requires one command, `Iterator(OPTIONS).run(...)`. i.e.

```
# Prepare imports.
from hyte import Iterator  # LLM-based Hypothesize-Test-Evaluate iterator.

# Run the iterator.
[summary, full_log] = Iterator(OPTIONS).run(SYSTEM_PROMPTS, Tools(),
                                            SAMPLE_DATA = None)
```
A more comprehensive, practical usage example is provided [here](https://github.com/5krus/HyTE/tree/prod/Usage_Example).

## Credit:
Primary development completed and maintained by [Eryk Krusinski](https://www.eng.cam.ac.uk/profiles/ek620), with feedback from [Dr Viacheslav Sedunin](https://www.eng.cam.ac.uk/profiles/vs440) and [Dr James V. Taylor](https://www.eng.cam.ac.uk/profiles/jvt24). [InnovateUK](https://www.ukri.org/councils/innovate-uk/) funded project during which this idea was conceived.
<br/><br/>Correspondence: [ek620@cam.ac.uk](ek620@cam.ac.uk).
eoq3autobahnws 2.9.5
Websocket domain client and host using autobahn
Requires Python: >=3.10

# eoq3autobahnws - Websocket domain client and host using autobahn

A domain server makes a local domain accessible via a WS port.

A domain host connects to a remote domain using WS. 

client and server are based on autobahn: https://autobahn.readthedocs.io/en/latest/index.html
		
## Usage

Define serialization and timeouts

    config = Config()
    config.remoteCmdTxSerializer = "TXT" #or JSO
    config.remoteCmdRxSerializers = ["TXT","JSO"] #or e.g. ["TXT"]
    config.remoteFrmTxSerializer = "TXT" #or JSO
    config.remoteFrmRxSerializer = "TXT" #or JSO
    config.connectTimeout = 40

### Host

Imports: 

    from eoq3autobahnws.autobahnwsdomainhost import AutobahnWsDomainHost
	
Create an SSL factory (optional):
	
	def ServerSslFactory(sslFactoryArgs:dict):
        return CreateSelfSignedServerSslContext("ssl/certificate.pem", "ssl/key.pem", "ILS-admin")
	 
Creating a TCP host domain that provides acces to another domain "localDomain", e.g. DomainWithMdb:

    server = AutobahnWsDomainHost(localDomain, True, '127.0.0.1', 5141, nWorkers=N_THREADS, config=config) #no ssh

	server = AutobahnWsDomainHost(localDomain, True, '127.0.0.1', 5141, sslContextFactory=ServerSslFactory, nWorkers=N_THREADS, config=config) #with ssh

### Client

Imports: 

    from eoq3autobahnws.autobahnwsdomainclient import AutobahnWsDomainClient
    from eoq3autobahnws.util.ssl import CreateClientSslContextForSelfSignedServerCert
	
Create an SSL factory (optional):

    def ClientSslFactory(domainFactoryArgs:dict): 
        return CreateClientSslContextForSelfSignedServerCert("ssl/certificate.pem")
	 
Connecting to a remote domain:

    domain = AutobahnWsDomainClient('127.0.0.1',5141) #no ssl

	domain = AutobahnWsDomainClient('127.0.0.1',5141,sslContextFactory=ClientSslFactory) #with ssl
	
### Examples

See

* pyeoq/Examples/Eoq3/BasicWebsocketServer.py and
* pyeoq/Examples/Eoq3/BasicWebsocketDomain.py
	

## Documentation

For more information see EOQ3 documentation: https://eoq.gitlab.io/doc/eoq3/

## Author

2024 Bjoern Annighoefer