diff --git a/paper/paper.bib b/paper/paper.bib index 946c8ee7..03122820 100644 --- a/paper/paper.bib +++ b/paper/paper.bib @@ -104,13 +104,14 @@ @article{van2014pep year={2014} } -@phdthesis{lehtosalo2015adapting, - title={Adapting dynamic object-oriented languages to mixed dynamic and static typing}, - author={Lehtosalo, Jukka Antero}, - year={2015}, - school={University of Cambridge} +@article{lehtosalo2017mypy, + title={Mypy-optional static typing for python}, + author={Lehtosalo, Jukka and Rossum, G v and Levkivskyi, Ivan and Sullivan, Michael J and Fisher, David and Price, Greg and Lee, Michael and Seyfer, N and Barton, R and Ilinskiy, S and others}, + journal={URL: https://mypy-lang.org}, + year={2017} } + @software{pydantic_v2.6.4, author = {Samuel Colvin and Eric Jolibois and Hasan Ramezani and Adrian Garcia Badaracco and Terrence Dorsey and David Montague and Serge Matveenko and Marcelo Trylesinski and Sydney Runkle and David Hewitt and Alex Hall}, title = {Pydantic}, diff --git a/paper/paper.md b/paper/paper.md index 144d650d..7e77b356 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -92,7 +92,7 @@ time, voltage = cell.get_time(), cell.get_soma_voltage() A neuron model is created using the create_ball_stick function, representing a basic type of neuron model. A simulation environment is initialised with Simulation(), and the created cell is added to this environment using sim.add_cell(cell). Next, a stimulus is attached to the neuron, activating it between 5.0 ms and 20.0 ms with a stimulation level of 0.5 nA (nanoamperes). The simulation is run for a total of 25 ms. Finally, time and soma voltage data are retrieved for further analysis and visualisation. -BlueCelluLab interfaces with various type systems, including those from Python, NEURON, network data formats, and dependencies such as numeric computing or data frame packages. To ensure type safety, it employs PEP-484 type annotations [@van2014pep] and a static type checker [@lehtosalo2015adapting] for early error detection during static analysis. For dynamic input lacking type information at static time, BlueCelluLab uses the Pydantic Data Validation package [@pydantic_v2.6.4] to identify errors at runtime, thereby enhancing system robustness. +BlueCelluLab interfaces with various type systems, including those from Python, NEURON, network data formats, and dependencies such as numeric computing or data frame packages. To ensure type safety, it employs PEP-484 type annotations [@van2014pep] and a static type checker [@lehtosalo2017mypy] for early error detection during static analysis. For dynamic input lacking type information at static time, BlueCelluLab uses the Pydantic Data Validation package [@pydantic_v2.6.4] to identify errors at runtime, thereby enhancing system robustness. ![Applications](figures/use-case-plot.png)