Skip to content

Commit

Permalink
Merge pull request #713 from ScilifelabDataCentre/dev
Browse files Browse the repository at this point in the history
New release v2.8.0 - No more Python 3.7
  • Loading branch information
i-oden authored Sep 24, 2024
2 parents e059f85 + 017b2a8 commit b9d3fd3
Show file tree
Hide file tree
Showing 28 changed files with 737 additions and 669 deletions.
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Team Hermes are the owners of all files in this repository
* @ScilifelabDataCentre/teamhermes
4 changes: 2 additions & 2 deletions .github/workflows/pytest-cli.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ jobs:
steps:
- uses: actions/checkout@v3

- name: Set up Python 3.10.4
- name: Set up Python 3.12
uses: actions/setup-python@v2
with:
python-version: 3.10.4
python-version: 3.12

- name: Install dds_cli
run: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release-cli.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ jobs:
- uses: actions/checkout@v3
name: Check out source-code repository

- name: Set up Python 3.9
- name: Set up Python 3.12
uses: actions/setup-python@v4
with:
python-version: 3.9
python-version: 3.12

- name: Install python dependencies
run: |
Expand Down
24 changes: 24 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,30 @@
Changelog
==========

.. _2.8.0:

2.8.0 - 2024-09-24
~~~~~~~~~~~~~~~~~~~
- Deprecations:
- Drop support for python 3.7
- New features:
- Added new dev instance url to cli config
- Dependencies:
- `prettytable` from `3.4.1` to `3.7.0`
- `prompt-toolkit` from `3.0.31` to `3.0.40`
- `pyYAML` from `6.0.1` to `6.0.2`
- `requests` from `2.32.0` to `2.32.2`
- `rich` from `12.5.1` to `13.6.0`
- `zstandard` from `0.19.0` to `0.22.0`
- `pyinstaller` version unpinned
- Dependencies (tests):
- `flask` from `2.0.2` to `2.2.5`
- `pyfakefs` from `4.5.5` to `5.3.0`
- Documentation:
- Improve documentation related to the testing instance.
- Clarify documentation about password management.
- Update documentation for python 3.12

.. _2.7.1:

2.7.1 - 2024-06-27
Expand Down
23 changes: 23 additions & 0 deletions SPRINTLOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -360,3 +360,26 @@ _Empty sprint_
# 2024-06-17 - 2024-06-28

- Update documentation to have correct executable name ([#702](https://github.com/ScilifelabDataCentre/dds_cli/pull/702))

# 2024-07-29 - 2024-08-09

- Improve docs related to the testing instance ([#705](https://github.com/ScilifelabDataCentre/dds_cli/pull/705))

# 2024-08-12 - 2024-08-23

_Empty sprint_

# 2024-08-26 - 2024-09-06

- Remove pinned version in requirements-dev.txt to resolve CVE ([#706](https://github.com/ScilifelabDataCentre/dds_cli/pull/706))
- Add CODEOWNERS file in order to define Team Hermes as owners of all files in repository ([#707](https://github.com/ScilifelabDataCentre/dds_cli/pull/707))
- Update documentation and related libraries for pyton 3.12, dropped support for python 3.7 ([#709](https://github.com/ScilifelabDataCentre/dds_cli/pull/709))

# 2024-09-09 - 2024-09-20

- Added new dev instance url to cli config ([#712](https://github.com/ScilifelabDataCentre/dds_cli/pull/712))
- Clarify documentation about password managers ([#711](https://github.com/ScilifelabDataCentre/dds_cli/pull/711))

# 2024-09-24 - 2024-10-04

- New version and changelog([#714](https://github.com/ScilifelabDataCentre/dds_cli/pull/714))
4 changes: 2 additions & 2 deletions WINDOWS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# How to install the DDS CLI on Windows

## 1. Download and install Python > 3.7
## 1. Download and install Python > 3.8

### 1.1. Go to https://www.python.org/downloads/windows/

Expand Down Expand Up @@ -42,7 +42,7 @@

![Powershell 1](docs/_static/windows/powershell_top-1.png)

> **Note:** Upon entering `python --version` the version of the previously installed Python distribution should be shown. If a version number < 3.7 is shown or Python is not found, please consult the :ref:`Troubleshooting<troubleshooting>` section below.
> **Note:** Upon entering `python --version` the version of the previously installed Python distribution should be shown. If a version number < 3.8 is shown or Python is not found, please consult the :ref:`Troubleshooting<troubleshooting>` section below.
### 2.3. Python ships with a helper program called **pip** to install additional packages. In the next step, this software should be upgraded to its current version.

Expand Down
3 changes: 3 additions & 0 deletions dds_cli/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,15 @@ class DDSEndpoint:
BASE_ENDPOINT_DOCKER = "http://dds_backend:5000/api/v1"
BASE_ENDPOINT_REMOTE = "https://delivery.scilifelab.se/api/v1"
BASE_ENDPOINT_REMOTE_TEST = "https://testing.delivery.scilifelab.se/api/v1"
BASE_ENDPOINT_REMOTE_DEV = "https://dev.delivery.scilifelab.se/api/v1"
if os.getenv("DDS_CLI_ENV") == "development":
BASE_ENDPOINT = BASE_ENDPOINT_LOCAL
elif os.getenv("DDS_CLI_ENV") == "docker-dev":
BASE_ENDPOINT = BASE_ENDPOINT_DOCKER
elif os.getenv("DDS_CLI_ENV") == "test-instance":
BASE_ENDPOINT = BASE_ENDPOINT_REMOTE_TEST
elif os.getenv("DDS_CLI_ENV") == "dev-instance":
BASE_ENDPOINT = BASE_ENDPOINT_REMOTE_DEV
else:
BASE_ENDPOINT = BASE_ENDPOINT_REMOTE

Expand Down
2 changes: 1 addition & 1 deletion dds_cli/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -1185,7 +1185,7 @@ def retract_project(click_ctx, project):
required=False,
is_flag=True,
default=False,
help="Something has one wrong in the project.",
help="Something has gone wrong in the project.",
)
@click.pass_obj
def archive_project(click_ctx, project: str, abort: bool = False):
Expand Down
2 changes: 1 addition & 1 deletion dds_cli/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

# Do not change bump the major version unless absolutely necessary - makes incompatible with API
# If mid or minor version reaches 9, continue to 10, 11 etc.
__version__ = "2.7.1"
__version__ = "2.8.0"
1 change: 1 addition & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@ Command documentation and guide
unit
motd
changelog
testing

Indices and tables
==================
Expand Down
6 changes: 4 additions & 2 deletions docs/installation.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.. _installation:

Installation guide
####################

Expand Down Expand Up @@ -27,7 +29,7 @@ As mentioned above, you can install ``dds-cli`` from PyPI or via an executable.
Install from **PyPI**
-----------------------

1. To perform these steps you need to have Python version 3.7 or higher installed.
1. To perform these steps you need to have Python version 3.8 or higher installed.

* First check which Python version you have

Expand All @@ -37,7 +39,7 @@ Install from **PyPI**

.. image:: ../img/python3-version.svg

If this does not return ``Python 3.7.x`` or higher, you will need to `install Python <https://www.python.org/downloads/>`_.
If this does not return ``Python 3.8.x`` or higher, you will need to `install Python <https://www.python.org/downloads/>`_.

.. warning::

Expand Down
23 changes: 19 additions & 4 deletions docs/password.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,31 @@
Securing your password
=================================

Your Data Delivery System (DDS) password will be used to protect your data from any unauthorized parties. Choosing a secure password is therefore essential since the password's complexity will determine how easy it is to guess the password and thereby gain access to your data. Remembering a number of different passwords for different services can be difficult, and many people resort to using the same or similar password for all, or saving them in insecure ways where they are easily lost or/and read by others.
Your Data Delivery System (DDS) password will be used to protect your data from any
unauthorized parties. Choosing a secure password is therefore essential since the
password's complexity will determine how easy it is to guess the password and thereby
gain access to your data. Remembering a number of different passwords for different
services can be difficult, and many people resort to using the same or similar
password for all, or saving them in insecure ways where they are easily lost or/and
read by others.

Due to this, we highly recommend that you use a password manager to store your passwords. An example of this is `Bitwarden <https://bitwarden.com/>`_ which is also used by the SciLifeLab Data Centre team.
Due to this, we highly recommend that you use a password manager to store your passwords.
Some common password management services are `Bitwarden <https://bitwarden.com/>`_,
`LastPass <https://www.lastpass.com/>`_, `1Password <https://1password.com/>`_.

How to use password managers, e.g. Bitwarden
=============================================

Using a password manager such as Bitwarden means that you need to keep track of a single password: The password you set for the password manager. The rest are stored within the password manager, allowing you to have different complex ones for each service you use. Many of these tools have mobile apps and plugins for different browsers, which simplifies password management significantly.
Using a password manager means that you need to keep track of a single password:
the password you set for the password manager.
All your other passwords are stored within the password manager,
allowing you to have different complex ones for each service you use.
Many of the password management services have mobile apps and plugins for different browsers,
which simplifies password management significantly.

The following is an example of how to start using Bitwarden.
Data Centre does not provide a password management service and we do not specifically recommend
any of the ones mentioned above. For illustrative purposes only, we provide
detailed instructions on how to begin using Bitwarden to demonstrate the concept:

1. Go to https://bitwarden.com/
2. Create an account. At the time of writing, this is done by clicking ``Get Started`` in the top right corner. Fill in your information and click Create account at the bottom. Remember to choose a complex password, that you can remember. Do not share this password with anyone.
Expand Down
21 changes: 9 additions & 12 deletions docs/testing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ This page will give you information on:

If your testing account has the role "Researcher", you can skip this section.

* First and foremost, **no sensitive data** is allowed to be delivered within this test instance.
* In order to create projects, which is required in order to test the upload / download functionality:
* First and foremost, this is not a production instance and will get releases without warning. **No sensitive data** is allowed to be delivered within this instance.
* In order to create projects, which is required in order to test the upload / download functionality:
* You must have the account role "Unit Admin" or "Unit Personnel"
* Your unit must have at least two "Unit Admins"
* When listing your projects you will see your projects, and yours only. However, in order to not create a large number of separate storage locations for testing purposes, the actual storage location is shared by all units in the test setup. In the production instance, there's always a separate storage location per SciLifeLab unit.
Expand Down Expand Up @@ -61,20 +61,17 @@ This page will give you information on:

.. _test-install:

3. How to install the test version of the CLI
3. How to install the CLI
================================================

You need to install the test version of the CLI from TestPyPi. Run this command in the terminal.

.. code-block:: bash
pip install -i https://test.pypi.org/simple/ dds-cli
Install the CLI as described in the :ref:`installation guide<installation>`.

.. note::

This is **not** the same command as shown in the installation guide.

You can install the released version of the CLI by following the installation guide, however you will not have the latest version or any of the features that are currently being implemented. There may also be unexpected errors since the released CLI and the DDS test instance may not be completely compatible.
Rarely, backwards incompatible releases will break the integration between the CLI and the API. As we
release the web application to test during the development process, there can be small windows of time
where the production CLI is not compatible with the DDS instance deployed to test.

These windows of time will be kept as small as possible and we will notify test users.

.. _test-config:

Expand Down
Loading

0 comments on commit b9d3fd3

Please sign in to comment.