An open API service indexing awesome lists of open source software.

https://github.com/pdesy/pdesy

Python package of Discrete Time-Event Simulator (DES) for engineering project. It aims to be the fundamental high-level building block for doing practical, real world engineering project management by DES and project modeling.
https://github.com/pdesy/pdesy

des python

Last synced: 4 months ago
JSON representation

Python package of Discrete Time-Event Simulator (DES) for engineering project. It aims to be the fundamental high-level building block for doing practical, real world engineering project management by DES and project modeling.

Awesome Lists containing this project

README

          

# pDESy: Discrete Time-Event Simulation in Python

[![PyPI version](https://badge.fury.io/py/pDESy.svg)](https://badge.fury.io/py/pDESy)
[![test](https://github.com/pDESy/pDESy/actions/workflows/test.yaml/badge.svg)](https://github.com/pDESy/pDESy/actions/workflows/test.yaml)
[![codecov](https://codecov.io/gh/pDESy/pDESy/branch/master/graph/badge.svg)](https://codecov.io/gh/pDESy/pDESy)

## What is it?

**pDESy** is a Python package for Discrete Time-Event Simulation (DES). It aims to be the fundamental high-level building block for practical, real-world engineering project management by using DES and other DES modeling tools. **pDESy** focuses on Discrete Time-Event Simulation and does not include visual modeling tools.

## Where to get it

The source code is currently hosted on GitHub at: [https://github.com/pDESy/pDESy](https://github.com/pDESy/pDESy)

Install the latest released version from the Python Package Index (PyPI):

```sh
pip install pDESy
# pip install git+ssh://git@github.com/pDESy/pDESy.git # INSTALL FROM GITHUB
```

### Optional Dependencies

**Visualization** (matplotlib, plotly): If you want to use visualization features (Gantt charts, network diagrams), install with:

```sh
pip install pDESy[vis]
```

or install the visualization libraries separately (kaleido is required for static image export in plotly):

```sh
pip install matplotlib plotly kaleido networkx
```

> **Note**: Starting from v0.8.0, visualization dependencies (matplotlib, plotly, kaleido, networkx) are optional to avoid mandatory dependency on kaleido, which requires Chrome for v1.0.0+. This keeps the core pDESy package lightweight for CI/CD and production environments.

## Documentation

API documentation is available at: [https://pDESy.github.io/pDESy/index.html](https://pDESy.github.io/pDESy/index.html).

## License

[MIT](https://github.com/pDESy/pDESy/blob/master/LICENSE)

## How to use pDESy?

Example code of pDESy is [here](https://gist.github.com/taiga4112/278629844a14f7a61aa48763e3ceaa19).

If you want to implement more complex models for describing real engineering projects, you can create new models by inheriting the base models.

## Background

**pDESy** is developed as part of the next-generation DES tool **[pDES](https://github.com/pDESy/pDES)**.

## Citation

Mitsuyuki, T., & Okubo, Y. (2024). pDESy: A Python Package for Discrete Time-Event Simulation to Engineering Project. Software Impacts, 19(100621).

@article{Mitsuyuki_pDESy_A_Python_2024,
author = {Mitsuyuki, Taiga and Okubo, Yui},
doi = {10.1016/j.simpa.2024.100621},
journal = {Software Impacts},
month = mar,
number = {100621},
title = {pDESy: A Python Package for Discrete Time-Event Simulation to Engineering Project},
volume = {19},
year = {2024}
}

## Contribution

1. Fork it ( )
2. Create your feature branch (git checkout -b my-new-feature)
3. Commit your changes (git commit -am 'Add some feature')
4. Push to the branch (git push origin my-new-feature)
5. Create new Pull Request

If you want to join this project as a researcher, please contact [me](https://github.com/taiga4112).