Skip to content

Commit ab4a434

Browse files
authored
Update version to 1.3.0
2 parents ebfcbc8 + e0776e9 commit ab4a434

37 files changed

+3111
-3367
lines changed

.github/ISSUE_TEMPLATE/custom.md

Lines changed: 0 additions & 45 deletions
This file was deleted.

.github/ISSUE_TEMPLATE/issue.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
name: Issue template
3+
about: Standard template for issues
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
- PyExperimenter version:
11+
- Database provider:
12+
- Python version:
13+
- Operating System:
14+
15+
### Description
16+
17+
Describe what you wanted to do and what (unexpected) behavior occurred.
18+
19+
### Steps to Reproduce
20+
21+
#### Used Configuration
22+
23+
```text
24+
[PY_EXPERIMENTER]
25+
...
26+
```
27+
28+
#### Used Experiment Function
29+
30+
```python
31+
def run_experiment(keyfields: dict, result_processor: ResultProcessor, custom_fields: dict):
32+
...
33+
```
34+
35+
#### Executed the Following Code
36+
37+
```python
38+
experimenter = PyExperimenter(...)
39+
...
40+
```
41+
42+
#### Raised Following Rrror
43+
44+
```text
45+
...
46+
```
47+
48+
#### Database Looks like: ADD SCREENSHOT
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<!--- Provide a general summary of your changes in the title above. -->
2+
3+
## Description
4+
<!--- Provide a short description of your changes. -->
5+
6+
## Motivation and Context
7+
<!--- Why is this change required? What problem does it solve? -->
8+
<!--- If it fixes an open issue, please link to the issue here. -->
9+
10+
## Changes
11+
<!--- Explain your changes in detail here. -->
12+
13+
#### Type Of Changes
14+
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
15+
- [ ] Bug fix (non-breaking change which fixes an issue)
16+
- [ ] New feature (non-breaking change which adds functionality)
17+
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
18+
19+
## How has This Been Tested?
20+
21+
- Database provider:
22+
- Python version:
23+
- Operating System:
24+
25+
<!--- Please describe in detail how you tested your changes. -->
26+
<!--- Include details of your testing environment, and the tests you ran to -->
27+
<!--- see how your change affects other areas of the code, etc. -->
28+
29+
## Does this Close/Impact Existing Issues?
30+
<!--- Please link to all relevant issues. -->
31+
- Issue #X
32+
33+
## What is Missing?
34+
<!--- Please provide any further information that is needed to close this PR. -->
35+
<!--- This could be another PR that is blocking this PR, or any further changes -->
36+
<!--- that need to be addressed in the future. -->
37+
38+
## Checklist
39+
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
40+
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
41+
- [ ] My change is based on the latest stage of the `develop` branch.
42+
- [ ] My change required a change of the documentation, which has been done.
43+
- [ ] I checked that the documentation can be build, visualizes everything as expected, and does not contain any warnings.
44+
- [ ] I have added/adapted tests to cover my changes.
45+
- [ ] The tests can be executed successfully.
46+
- [ ] The notebooks can be executed successfully.
47+
- [ ] The notebooks can be executed with `mysql` as provider.
48+
- [ ] I have added a description of the changes to `CHANGELOG.rst`.

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,4 @@ jobs:
4141
run: |
4242
source $VENV
4343
# Ignore the MySQL test, as it requires a MySQL server:
44-
pytest --ignore=test/test_run_experiments/test_run_mysql_experiment.py --ignore=test/test_logtables/test_mysql.py
44+
pytest --ignore=test/test_run_experiments/test_run_mysql_experiment.py --ignore=test/test_logtables/test_mysql.py --ignore=test/test_run_experiments/test_run_mysql_experiment.py --ignore=test/test_codecarbon/test_codecarbon_core_functions_mysql.py --ignore=test/test_codecarbon/test_integration_mysql.py

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,4 +139,8 @@ dmypy.json
139139
todo.md
140140
config/database_credentials.cfg
141141
config/example*.cfg
142-
output/
142+
output/
143+
144+
# codecarbon
145+
.codecarbon.config
146+
emissions.csv

.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,5 +58,5 @@
5858
"**/.git/subtree-cache/**": true,
5959
"**/node_modules/*/**": true
6060
},
61-
"esbonio.sphinx.confDir": "${workspaceFolder}/docs/source"
61+
"esbonio.sphinx.confDir": "${workspaceFolder}\\docs"
6262
}

CHANGELOG.rst

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,34 @@
22
Changelog
33
=========
44

5+
v1.3.0 (23.06.2023)
6+
===================
7+
8+
Feature
9+
-------
10+
11+
- Added ``CodeCarbon`` to automatically measure carbon emissions of experiments.
12+
- Improved issue template.
13+
- Added template for pull requests.
14+
- Extended documentation for development / how to contribute to ``PyExperimenter``
15+
16+
17+
Examples
18+
--------
19+
20+
- Updated examples to utilize ``CodeCarbon`` functionality.
21+
22+
Changed
23+
-------
24+
25+
- Replaced ``mysql-connector-python`` dependency to use ``pymysql`` instead.
26+
27+
Fix
28+
---
29+
30+
- Bugfix escaping of values in sql statements.
31+
32+
533
v1.2.1 (21/04/2023)
634
===================
735

docs/source/3rd-party.rst

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
2+
.. _3rd_party:
3+
4+
================================
5+
Usage of 3rd Party Dependencies
6+
================================
7+
8+
This part of the documentation refers to 3rd party dependencies, that need to be used actively during development. It contains a short description of the dependency and an explanation on how it is meant to be used for ``PyExperimenter``.
9+
10+
.. _use_poetry:
11+
12+
--------
13+
Poetry
14+
--------
15+
16+
`Poetry <poetry_>`_ is a dependency management and packaging tool for Python. It allows to declare the dependencies of your projects and it will manage (install / update) them for you. It also allows to build a package which can be uploaded to a package repository and installed via ``pip``.
17+
18+
For installation instructions and further useful commands than the ones listed below, please refer to the `Poetry documentation <poetry_docs_>`_. Please make sure to follow the described steps: do NOT use ``pip`` or ``conda`` for installation of Poetry itself, and make sure to add Poetry to your PATH.
19+
20+
If you checked out the ``PyExperimenter`` repository, you can install the development dependencies using Poetry. To this end, navigate into the git project folder and execute the following command which will instll the excact versions used for the development of ``PyExperimenter``:
21+
22+
.. code-block::
23+
24+
poetry install
25+
26+
You can add a new core dependency that is needed to use ``PyExperimenter`` using the first of the following commands, which will add the latest version of the package to the ``pyproject.toml`` file. If you want to add a specific version, you can use the second following command:
27+
28+
.. code-block::
29+
30+
poetry add <package_name>
31+
# or
32+
poetry add "<package_name>>=<version>"
33+
34+
A development dependency can be added using the following command, which will add the latest or the given version of the package to the ``dev`` dependency group:
35+
36+
.. code-block::
37+
38+
poetry add --group dev <package_name>
39+
# or
40+
poetry add --group dev "<package_name>>=<version>"
41+
42+
The ``poetry.lock`` file will be updated automatically, when doing so. Therefore, ``poetry`` tries to resolve the dependencies. If needed dependencies will be updated. If you want to update the ``poetry.lock`` file manually (resolve dependencies with the most current libary version), you can use the following command:
43+
44+
.. code-block::
45+
46+
poetry update
47+
48+
49+
The version of ``PyExperimenter`` can be easily updated using the following command. This will update the version in the ``pyproject.toml`` file.
50+
51+
.. code-block::
52+
53+
poetry version <major/minor/patch/prerelease>
54+
55+
Finally, if you want to build a package, you can use the following command, which will create a ``dist`` folder containing the built package:
56+
57+
.. code-block::
58+
59+
poetry build
60+
61+
.. _poetry: https://python-poetry.org/
62+
.. _poetry_docs: https://python-poetry.org/docs/

0 commit comments

Comments
 (0)