semvec/pypi-packages huggingface dataset:
OASYS1-XRT 0.0.3
XRT
License: MIT
Keywords: simulator, oasys1

# OASYS1-XRT

This is the OASYS user interface for XRT (https://xrt.readthedocs.io/).
It is in development phase.

## OASYS1-XRT installation as developper

To install the add-on as developper: 

+ ``git clone https://github.com/oasys-esrf-kit/OASYS1-XRT``
+ ``cd OASYS1-XRT``
+ with the python that Oasys is using: ``python -m pip install -e . --no-deps --no-binary :all:``
+ Restart Oasys: ``python -m oasys.canvas -l4 --force-discovery``

## OASYS1-XRT installation as user

To install the add-on as user: 

+ In the Oasys window, open "Options->Add-ons..."
+ Click the button: "Add more..."
+ Enter: OASYS1-XRT
+ In the add-ons list, check the option "XRT"
+ Click "OK"
+ Restart Oasys.


## Workspaces with examples

You can use "Open Remote" in Oasys and load

+ Simple example: https://raw.githubusercontent.com/oasys-esrf-kit/OASYS1-XRT/refs/heads/main/example_workspaces/xrt_test.ows
+ ESRF ID09 beamline: https://raw.githubusercontent.com/oasys-esrf-kit/modelling_team_scripts_and_workspaces/refs/heads/main/id09/ID09_ray_tracing_secondary_source_lens_s4_xrt_comparison_v2.ows



<img width="1561" height="388" alt="image" src="https://github.com/user-attachments/assets/0594543d-fe4e-403f-83d2-24929506307b" />
pydmpro 0.1.1
Python Dependency Manager
License: MIT
Requires Python: >=3.8

# pydm 🐍

A Python package designed to streamline dependency injection and parameter management for Python applications.

---

## Features

- **Service Container**: Manage services and dependencies with ease.
- **Interface Bindings**: Bind interfaces to implementations for seamless dependency management.
- **Parameters Bag**: Access application parameters from memory or environment variables.
- **Factory Bindings**: Create services dynamically using factory methods.

___

## 📦 Installation

Install from source:

```bash
pip install git+https://github.com/ariana126/pydm.git
```
or PyPI
```bash
pip install pydmpro
```

---

## 🚀 Quick Start

### An example in your project:
```python
from pydm import ServiceContainer, EnvParametersBag
from dotenv import load_dotenv

class DatabaseConnectionInterface:
    pass
class MySQLConnection:
    def __init__(self, base_url: str):
        self.__base_url = base_url
class Repository:
    def __init__(self, conn: DatabaseConnectionInterface):
        self.__conn = conn

def boot() -> None:
    service_container: ServiceContainer = ServiceContainer.get_instance()

    load_dotenv()
    service_container.set_parameters(EnvParametersBag())

    service_container.bind_parameters(MySQLConnection, {'base_url': 'MYSQL_URL'})
    service_container.bind(DatabaseConnectionInterface, MySQLConnection)

boot()
repository = ServiceContainer.get_instance().get_service(Repository) # Repositoy instance
```

## 🧪 Running Tests

```bash
pytest
```

---

## 📄 License
This project is licensed under the **MIT License** – see the [LICENSE](https://github.com/ariana126/pydm/blob/main/LICENSE) file for details.

---

## 🤝 Contributing
Contributions are welcome!  
If you have an improvement or find a bug:
1. Fork the repo
2. Create your branch
3. Submit a pull request

---

## 💡 About
`pydm` is a lightweight dependency management package designed to simplify service container management and parameter handling in Python projects. Originally created by [Ariana](https://github.com/ariana126), it provides tools to maintain clean, scalable architecture and streamline the injection of dependencies and configuration parameters.