Releases: allenai/beaker-py
v0.13.1
What's new
Changed ⚠️
Beaker.dataset.fetch()
andBeaker.dataset.stream_file()
now verify the digest of the downloaded bytes
against the expected digest by default. AChecksumFailedError
is raised if they don't match.
You can skip validating the checksum by passingvalidate_checksum=False
.- Added a progress bar to
Beaker.dataset.stream_file()
. This can be disabled by passingquiet=True
.
Commits
93eb5ec Bump mypy from 0.942 to 0.950 (#92)
36e2367 Add progress bar to Beaker.dataset.stream_file()
465db0f Update rich requirement from <12.3,>=12.0 to >=12.0,<12.4 (#90)
b219784 Fix checksum validation and dataset tests
a77c144 Validate digest when downloading files from datasets
v0.13.0
What's new
Added 🎉
- Added
Beaker.dataset.url()
method. - Added
Beaker.image.url()
method. - Added
Beaker.group.url()
method. - Added
Beaker.workspace.url()
method. - Added
Beaker.cluster.url()
method.
Changed ⚠️
- Improved performance of
Beaker.cluster.filter_available()
by using aThreadPoolExecutor
for concurrency. - Changed behavior of
Beaker.dataset.create()
andBeaker.dataset.sync()
with respect to source files. By default now, source files and directories will be uploading as their given path, instead of just their name. You can still get the old behavior by passingstrip_paths=True
. - Changed default value of
max_workers
toNone
inBeaker.dataset.create()
and.sync()
.
When left asNone
, the number of workers will be determined by theThreadPoolExecutor
. - "." now allowed in beaker names.
Commits
4fcc8d5 Allow "." in beaker names (#91)
b426ab2 Add Beaker.(cluster|group|image|workspace).url()
methods
1723180 Add Beaker.dataset.url()
method
2c2bd48 Keep source paths by default when syncing datasets (#89)
c5a648f update dockerignore
134b9be Improve Beaker.cluster.filter_available()
by using a ThreadPoolExecutor
for concurrency (#88)
v0.12.0
What's new
Added 🎉
- Added FAQ section to the docs.
- All data models are now hashable and faux immutable, and use tuples instead of lists.
- Added
delete_results_dataset: bool = True
parameter toBeaker.experiment.delete()
. - Added
Cluster.is_cloud
andCluster.is_active
properties.
Changed ⚠️
- Changed the return type of
Beaker.cluster.filter_available()
fromList[Cluster]
to
List[ClusterUtilization]
. - Renamed and consolidated
NodeSpec
andNodeShape
toNodeResources
.
Commits
977b0d2 Update "Team" section of docs
bd91813 Bump myst-parser from 0.17.0 to 0.17.2 (#75)
23dec78 Bump actions/upload-artifact from 2 to 3 (#68)
81fdc21 Bump actions/download-artifact from 2 to 3 (#69)
0b81fda Improve docs and data model (#87)
d0e1bbd Fix test for version warning
0304b12 improve Config.__str__()
and Beaker.__str__()
f40facc document how to skip upgrade warning
0161442 Add test for warning about upgrades
7468f30 fix typo
5405f0d fix typo
e156871 fix typo
ceada49 Add delete_results_dataset
param to experiment.delete()
8458aaf clean up Beaker.experiment.as_completed()
6bba3a3 Add FAQ to docs, make BaseModel immutable and hashable (#86)
v0.11.0
What's new
Added 🎉
- Added
Task.latest_job
property.
Changed ⚠️
- Changed signature of
Beaker.experiment.(logs|metrics|results)
methods: replaced parameter
task_name: Optional[str]
withtask: Optional[Union[str, Task]]
.
Commits
383bbe4 Rename task_name
paremeter to task
, add TaskNotFound
error type (#85)
86a4ff5 clean up
v0.10.0
What's new
Added 🎉
- Added
Beaker.image.rename()
method. - Added
Beaker.image.pull()
method. - Added
Beaker.experiment.url()
method.
Changed ⚠️
- Changed return type of
Beaker.cluster.utilization()
toClusterUtilization
.
Commits
e310d2d Improve Beaker.cluster.utilization()
(#84)
77e573b Close #79, add Beaker.experiment.url()
9e80fec Reorganize data model module (#83)
d614667 Move dataset integration tests
12e2e60 Add Beaker.image.pull()
method (#82)
d811247 Add Beaker.image.rename()
, integration tests, other internal improvements (#81)
v0.9.0
What's new
Added 🎉
- Added
Beaker.group
client and methods. - Added
Beaker.workspace.groups()
method. - Added
Beaker.experiment.resume()
method. - Added
Beaker.experiment.metrics()
method. - Added
Beaker.job.metrics()
method. - Added
Beaker.job.results()
method. - Added
Beaker.job.wait_for()
method. - Added
Beaker.job.as_completed()
method. - Added
Beaker.experiment.as_completed()
method. - Added
Beaker.image.commit()
method. - Added
commit
parameter toBeaker.image.create()
.
Changed ⚠️
- Changed the signature of
Beaker.experiment.results()
. Added thetask_name
parameter
and changed the return type toOptional[Dataset]
. - Changed the signature of
Beaker.experiment.logs()
. Removed thejob_id
parameter
and added thetask_name
parameter. - Deprecated
Beaker.experiment.await_all()
. UseBeaker.experiment.wait_for()
instead.
Fixed ✅
- Fixed bug with
Beaker.image.create()
.
Commits
f7a0ba3 Rework experiment results()
, logs()
, metrics()
, and await_all()
methods (#77)
d9f267a Add Beaker.job.results()
method
512273f improve warning message for upgrades
a3cdabc Add Beaker.group
client (#76)
2cb9f6a Implement Beaker.experiment.resume()
method
v0.8.4
What's new
Fixed ✅
- Fixed issue in data model for
Experiment
.name
andfull_name
are now optional. - Fixed issue in data model for
Image
.name
andfull_name
are now optional.
Commits
a6fd52d fix linting
422ace6 Add note about existing configuration file
448aaae fix Image
data model
b2cbbee fix Experiment
data model
v0.8.3
What's new
Added 🎉
- Added
Beaker.workspace.(get|set|grant|revoke)_permissions()
and.set_visibility()
methods.
Changed ⚠️
- Added better support for referencing Beaker items (images, experiments, datasets, etc)
by their short name (without workspace, org, or account prefix) when the full name
or ID can be assumed. - Improved error documentation.
Commits
52ecadd Implement Beaker.workspace.*_permissions()
methods (#73)
07f1474 Better support for referencing Beaker items by short name or ID (#72)
5287ad0 clean up
ba812dd Add Jobs
section to overview
v0.8.2
What's new
Added 🎉
- Implemented
Beaker.workspace.archive()
,.unarchive()
,.rename()
,.move()
, andcreate()
methods. - Implemented
Beaker.job.stop()
andBeaker.job.finalize()
methods. - Added
WorkspaceWriteError
for when you attempt to write to an archived workspace. Before this
would just result in anHTTPError
with a 403 status code.
Changed ⚠️
- Allowed using workspace name without organization when
Config.default_org
is set.
OtherwiseOrganizationNotSet
error is raised.
Commits
6b6ebd6 Add "See also" section to README
cb9493d Implement more Beaker.workspace
methods (#71)
518fe97 Add Beaker.job.stop()
and .finalize()
methods (#70)
ceb413c Bump actions/setup-python from 1 to 3 (#66)
646bb73 Bump actions/checkout from 2 to 3 (#67)
d279ab5 Add github-actions
to dependabot watch list, add config compatibility tests (#65)
v0.8.1
What's new
Added 🎉
- Implemented
__str__
method onBeaker
client for debugging. - Improved documentation for
ExperimentSpec
,TaskSpec
, and other related data models,
and added new convenience constructors such asTaskSpec.new()
.
Changed ⚠️
- Changed default spec version to
v2
.
Fixed ✅
- Improved experiment spec validation in
Beaker.experiment.create()
to raise more specific error types.
Commits
cd24cb4 Improve spec docs and add convenience constructors
424f8c7 Improve experiment spec validation
8ff49cd Implement Beaker.__str__()
049761f Change default spec version of "v2"