Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@ formats:
# Optionally set the version of Python and requirements required to build your docs
python:
install:
- requirements: docs/requirements.txt
- requirements: requirements.txt
- requirements: requirements.txt
- requirements: docs/requirements.txt
79 changes: 27 additions & 52 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,58 +1,33 @@
# Changelog

From 2022-01-20, all changes will described in this file.

This project takes inspiration from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

Current official version is found in the master branch.

Procedures for versioning:

- Change is made on feature branch, based on bug or issue.
- Multiple changes are then merge into a 'version' branch for further testing
- Once the testing has been established, this version is merged into master, updating the current main version of the library.

## [Unreleased]
Outline of planned changes.

### [0.4.0]

- Refactor cluster and buffer internal dictionaries to remove `self.buffer[b]...` code.

### [0.3.1]

Update data output functions output to remove performance warnings from HDF5 tables

## [0.3.0] 2022-01-10
*[Retrospective versioning]*

### Changed
- Data output uses HDF5 data tables to improve data storage after simulations

### Removed
- TopSim no longer uses `Pandas` pickles to store output data.

## [0.2.0] - 2021-08-9

### Added

*[Retrospective versioning]*


- Planner abstract base class established for more flexibility with planning algorithms

- Batch provisioning in `Cluster`

### Changed

- `Scheduling` algorithm Abstract base class requires `existing_schedule` paramater to

- Documentation uses Pydata Sphinx theme
# Before v0.10.0

- Merge pull request #49 from top-sim/48_ci_actions ([`0d28f68`](https://github.com/top-sim/topsim/commit/0d28f6844ac52dfa883abc9077800e2c45d99742))
- Merge pull request #45 from top-sim/40_simulator_data_results ([`ade4c82`](https://github.com/top-sim/topsim/commit/ade4c8203a040d59c631e58d982ab98df1ea5360))
- Merge pull request #42 from top-sim/18_minimal_json ([`a24ac44`](https://github.com/top-sim/topsim/commit/a24ac44990d3be5d4eb4bfdc565fe622cf6c2063))
- Merge pull request #36 from top-sim/static_batch_provisioning ([`dca8b68`](https://github.com/top-sim/topsim/commit/dca8b68c165608dde3f00743584ba28b87d4a18c))
- Merge pull request #39 from top-sim/issue_38 ([`bd0c7af`](https://github.com/top-sim/topsim/commit/bd0c7af62cef8b998089dfd225fe5debaefdbae3))
- Merge pull request #35 from top-sim/add_experiment_wrapper ([`ec7215e`](https://github.com/top-sim/topsim/commit/ec7215e661c725ef542960c56fb733b9371748f0))
- Merge pull request #34 from top-sim/update_buffer ([`28282a7`](https://github.com/top-sim/topsim/commit/28282a753cb388322ed748aa48326c2818337300))
- Merge pull request #31 from top-sim/addMemoryToTaskRuntime ([`2333845`](https://github.com/top-sim/topsim/commit/23338458cac9326e3e5726f3392081ff280b2c04))
- Merge pull request #30 from top-sim/addMemoryToTaskRuntime ([`4c4133a`](https://github.com/top-sim/topsim/commit/4c4133a1a22fff308728135363c007e71e44731a))
- Merge pull request #29 from top-sim/addMemoryToTaskRuntime ([`eb7ed8d`](https://github.com/top-sim/topsim/commit/eb7ed8d944fb52ca4c35ed2cee0c9b673a0014df))
- Merge pull request #28 from top-sim/update_data_output ([`9aac98e`](https://github.com/top-sim/topsim/commit/9aac98ee6f0c79c0f2f34634efe1cf9a83f481c9))
- Merge pull request #27 from top-sim/refactor_planner ([`076a0b4`](https://github.com/top-sim/topsim/commit/076a0b4d72206d3e326473c666dc328e1f4c5619))
- Merge pull request #26 from top-sim/create_examples ([`13783c2`](https://github.com/top-sim/topsim/commit/13783c288977ff2720bcebf8928105c43f61a578))
- Merge pull request #25 from top-sim/update_timestep_config ([`ba61646`](https://github.com/top-sim/topsim/commit/ba6164685c3f0e95212811b08b7aa279692242bc))
- Merge pull request #24 from top-sim/ska_workflows_transition ([`0d11c01`](https://github.com/top-sim/topsim/commit/0d11c016ef034703b28b0f2a9c4692ddbad81bae))
- Merge pull request #23 from pritchardn/patch-1 ([`fac9c5d`](https://github.com/top-sim/topsim/commit/fac9c5daa462cbacbcb16feb3ba52342e4065b35))
- Merge pull request #21 from top-sim/development ([`7179ca8`](https://github.com/top-sim/topsim/commit/7179ca83a05dfca00a770538887f2aea7d3327c0))
- Merge pull request #12 from top-sim/output_changes ([`24c5895`](https://github.com/top-sim/topsim/commit/24c5895fcdc4693947fa931e86fe8bc3aaea2067))
- Merge pull request #11 from top-sim/config_update ([`47308c5`](https://github.com/top-sim/topsim/commit/47308c550ef89415a15379f14ac7e2f5cc9b9d27))
- Merge remote-tracking branch 'origin/master' ([`3cd68c1`](https://github.com/top-sim/topsim/commit/3cd68c1f9d5f369ac94ec7fd5c00e048d0e40645))
- Merge remote-tracking branch 'origin/master' ([`7d63fbd`](https://github.com/top-sim/topsim/commit/7d63fbdb859349d98fb49d4b5f352bd0796df452))
- Merge remote-tracking branch 'origin/master' ([`6068808`](https://github.com/top-sim/topsim/commit/6068808264d6c54b17afb8768f16e923b3b2b1ee))
- Merge remote-tracking branch 'origin/master' ([`4b106d8`](https://github.com/top-sim/topsim/commit/4b106d833838e9d2eadf57d8fd66ad28a27a11f0))
- Resolved README.md conflicts ([`3a1fc76`](https://github.com/top-sim/topsim/commit/3a1fc76dd195ed754c100546879dc90e244c9b68))

## [0.1.0] 2021-05-13

*[Retrospective versioning]*

This version is going to correspond with the first 'public' release and results of TopSim, which was it's demonstration in the 2021 ISC-HPC conference.

This can be found either at [this commit](https://github.com/top-sim/topsim/commit/d9f43315d83ff814ac5e4b474f9ac8eeab1c0180), or at the [2021-isc-hpc branch](https://github.com/top-sim/topsim/tree/2021-isc-hpc).
Expand All @@ -62,4 +37,4 @@ Functionality that existed included:
- Scheduling algorithm integration with SHADOW library
- Data output as `panda` pickles
- Runtime-delays with tasks
- Test coverage of >80%.
- Test coverage of >80%.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2019 RobertLexis
Copyright (c) 2025 RW Bunney

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
8 changes: 0 additions & 8 deletions postBuild

This file was deleted.

45 changes: 45 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
[build-system]
requires = ["setuptools>=61", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "topsim"
version = "0.3.0"
description = "Telescope Operations Simulator"
authors = [
{ name = "Ryan Bunney", email = "[email protected]" },
]
license = { text = "GNU" }
readme = "README.md"
requires-python = ">=3.10"

dependencies = [
"shadow @ git+https://github.com/myxie/shadow",
"alabaster>=0.7.12",
"networkx>=2.6",
"numpy<2.0.0",
"pandas>1.3",
"Sphinx>=2.1.2",
"simpy>=3.0.11",
"matplotlib>=3.1.1",
"coverage>=4.5.4",
"coveralls>=1.8.2",
"bokeh>=1.4",
"nbserverproxy",
"tables >= 3.7",
"tqdm",
"h5py",
"click"
]

[project.scripts]
topsim = "topsim.cli:cli"

[project.urls]
Homepage = "https://github.com/top-sim/topsim"

[tool.setuptools]
include-package-data = true

[tool.setuptools.packages.find]
exclude = ["docs"]
5 changes: 3 additions & 2 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
git+https://github.com/myxie/shadow
shadow @ git+https://github.com/myxie/shadow
alabaster>=0.7.12
networkx>=2.6
numpy<2.0.0
Expand All @@ -12,4 +12,5 @@ bokeh>=1.4
nbserverproxy
tables >= 3.7
tqdm
h5py
h5py
click
24 changes: 0 additions & 24 deletions setup.py

This file was deleted.

44 changes: 44 additions & 0 deletions topsim/cli.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Copyright (C) 2025 RW Bunney

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.

"""
Command-line interface for the TopSim project
"""
import click
import sys

from importlib import import_module
from topsim import __version__

@click.group()
def cli():
"""
Command-line interface for the TOpSim simulation environment.

This tool is used to provide an interface with Experiments so that you do not have to
write scripts to do so using the topsim.core library.
"""

@cli.command()
# @click.option("--module", default='user.telescope')
def version(module=''):
"""
Print the current version of TOpSim
"""
click.echo(f"TOpSim: {__version__}") # using the {module} module.")


if __name__ == '__main__':
cli()
Empty file removed visualise_graph.pdf
Empty file.