Changelog of the Python Client
This changelog lists the changes in the python client of
pyhectiqlab
.
[v3.1.14.dev0] - October 25, 2024
- Add method
Run.add_current_notebook()
(andhl.add_current_notebook()
) to add the current notebook to the run. Currently, it's only working if the notebook is executed from vscode. - Support
on_main_process
of the library 🤗 Accelerate. If the library is used, most methods will work on the main process so you don't need to worry about it nor to change your code. - A class
HectiqLabTracker
frompyhectiqlab.tracker
is available to track the progress of the training for 🤗 accelerate. It is compatible with the library Accelerate.
[v3.1.13] - October 25, 2024
- Fix issue when creating a model of a dataset using the client. It was possible that another model was attached to the run, which was not the desired behavior.
- Set to debug the logging of the loading of the configuration file.
- Remove the error logging on the first authentication.
[v3.1.12] - October 17, 2024
- Most errors are now swallowed by default. This mechanism is useful to prevent the Lab from breaking a script. To raise an error when it occurs, set the environment variable
HECTIQLAB_RAISE_ERROR
to1
. - When downloading a dataset or model to a path that includes a name and version, the specified directory is used directly, rather than creating a new subdirectory. For example, if the download path is
path/to/dataset-1.1
, the dataset will be downloaded topath/to/dataset-1.1
and notpath/to/dataset-1.1/dataset-1.1
.
[v3.1.11] - September 12, 2024
- Fix issue when downloading large datasets.
[v3.1.10] - August 1, 2024
- Add a 'Did you mean' feature to your CLI. If you make a typo in the command, the CLI will suggest the closest command to what you typed. For example:
>>> hectiq-lab dataset.crea
‼️ No such command 'dataset.crea'.
🔍 Did you mean one of these?
Dataset.create
Dataset.retrieve
Dataset.update
Dataset.delete
- Automatically store your git diff of your tracked repository in the Lab. When you run a command, the Lab will store the diff of your repository in the Lab. This feature is enable by default. To disable it, set the environment variable
HECTIQLAB_DO_NOT_STORE_DIFF
to1
.
[v3.1.9] - July 24, 2024
- When a step completes, the step outputs in the logger the time it took to complete the step.
- Fix a critical issue of status code.
[v3.1.8] - July 22, 2024
DANGER
🚫 This version has been removed from distribution. This version contains a critical error that renders the code unusable. The bug doesn't impact the security of the lab. Upgrade to v3.1.9 for the fix.
- Hide the error message when the request is 204 (on upload).
[v3.1.7] - July 18, 2024
- Fix the issue when uploading a single file in a dataset or in a model. The issue occurred when the path was a file and not a directory. s
[v3.1.6] - July 1, 2024
- Fix issue where allowing dirty state was not working properly. The default state lets the user use the lab even if the repository is dirty.
- Fix issues with progress not found in the client.
[v3.1.5] - July 10, 2024
- Hot fix in dataset new CLI method.
- Hot fix in authenticate.
[v3.1.3] - July 9, 2024
- Updated documentation.
- Improved error messages and doc strings in
Run
,Dataset
,Model
andStep
. Now, doc strings specify when a function logs errors and exits; also available in the documentation. - Environment variables have been moved from
pyhectiqlab/settings/__init__.py
topyhectiqlab/settings/.env.public
. Dataset
andModel
can now be updated with new files via the functionupload
using the functional API and the CLI:
python
from pyhectiqlab import functional as hl, Model
# All lines below do the same thing
Model.upload(id="asda2a68197ad", path="path/to/model/files", project="hectiq-ai/demo") # object-oriented
hl.upload_model(id="asda2a68197ad", path="path/to/model/files", project="hectiq-ai/demo") # functional
!hectiq-lab Model.upload --id "asda2a68197ad" --path "path/to/model/files" --project hectiq-ai/demo # CLI
[v3.1.2] - July 4, 2024
Message.publish
now returns a dict if successful, andNone
otherwise.- Update of the progress tracking during uploads and downloads, allowing for multiple tracked tasks. Use the
register_progress
function to keep track of arich.progress.Progress
object defined at the root of a script.
python
import os
from rich.progress import Progress
from pyhectiqlab import functional as hl
os.environ["HECTIQLAB_HIDE_PROGRESS"] = False # ensures that progress is shown
with Progress() as prog:
task = prog.add_task(total=3)
hl.register_progress(prog)
for _ in range(3):
hl.download_dataset(...) # triggers the internal progress bar for the download
See documentation for more information.
- Improved error messages at
Dataset
creation when project is not found, and atTag
attachment when no run is available.
[v3.1.1] - June 19, 2024
- Fix: When calling
Project.allow_dirty
, the environment variableHECTIQLAB_ALLOW_DIRTY
is always called. - Adding functional method
get_run_slug
, which gets a slugified version of the current run title. - Update the
Run
documentation.
[v3.1.0] - June 18, 2024
- News feature: you can send messages to your runs. To publish a message, you can use the following command:
bash
hectiq-lab Message.publish --run "9sk7x6" --key "learning-rate" --value 0.001
and then receive the message in a run like this
python
import pyhectiqlab.functional as hl
message: Message.view = hl.get_message(key="learning-rate")
if message:
message.ack() # Prevents the message from being retrieved again.
print(message.key, message.value)
See the documentation for more information.
- A bug concerning default parameters has been fixed in
clisync==1.3.2
so that the requirements are nowclisync>=1.3.2
. - The documentation now contains a new section about the settings of the package.
[v3.0.18] - June 14, 2024
- Fix issue when the credentials are missing. When the credentials are missing, an error message is displayed and the offline mode is activated.
[v3.0.17] - June 13, 2024
- Renaming the environment variable
HECTIQLAB_DEBUG_MODE
toHECTIQLAB_OFFLINE_MODE
. When set toTrue
, no data is sent to the Lab. - Adding a section in the documentation about the properties of the Runs.
[v3.0.16] - June 12, 2024
- Adding
HECTIQLAB_DEBUG_MODE
to environment variables. - Adding a property
Run.slug
that returns the slug of the run. This slug may not be unique.
[v3.0.15] - June 11, 2024
- Fix minor issue with
keep_latest_version
inDataset.list
andModel.list
.
[v3.0.14] - June 11, 2024
- Fix issues with some environment variables and better handling of those.
- Fix issue with dirty package handling.
- Adding rich progression bars. The TQDM package is no longer used.
- The concept of blocks has been removed from the SDK. Hence,
Block
no longer exists. - Handling of synchronous / asynchronous processes when in Jupyter notebooks.
- Increase unit test coverage.
[v3.0.13] - June 7, 2024
- Fix issue with
Model.list
andDataset.list
. - Adding the flag
--generate
tohectiq-lab authenticate
to be able to generate an API key without storing it in the credentials file. - Fix issue with initialisation of runs.
- Adding a parameter
reuse
to the creation of run (Run.create()
,Run()
,create_run
). Ifreuse=True
, the run will be reused if a run with the same title exists in the project. Ifreuse=False
, a new run will be created. By default,reuse=False
.
[v3.0.12] - June 7, 2024
- Fix download/upload in notebook
- Centralization of env vars in settings.
[v3.0.11] - June 6, 2024
- Add error messages when the lab is failing silently (missing projects, etc.)
- Fix include
Step
andArtifact
.
[v3.0.9] - May 24, 2024
- Fix an issue with
download_artifact
.
[v3.0.8] - May 24, 2024
- Automatically storing in the Lab the packages versions at initialization of the run.
- Setup the logging level to
INFO
by default for httpx. - Bug fix occuring with
Run.retrieve_config_by_id
.
[v3.0.7] - May 16, 2024
- Adding time out in download / upload
- Warnings are raised with logging
- Overwrite mechanics in dataset / model download
- Hotfix in
add_metric
, functional mode, run categories, run context enter, run repr
[v3.0.5] - May 15, 2024
- Fix issues with
--wait_response
so that it is by default to True on the CLI. - Fix issues with model and dataset creation and downloads. The documentation has been updated to reflect the changes.
[v3.0.4] - May 8, 2024
- 🎉 Official release of the new v3 of the Lab.