Skip to content

Releases: allenai/beaker-py

v0.14.0

04 May 20:46
Compare
Choose a tag to compare

What's new

Added 🎉

  • Added description parameter to Beaker.dataset.create(), Beaker.image.create(), Beaker.workspace.create().
  • Added public parameter to Beaker.workspace.create().

Changed ⚠️

  • Beaker.workspace.grant_permissions now takes a Permission enum type instead of a raw string, but raw strings will still work.

Commits

e5b702f Add description parameter to applicable create() methods, other internal improvements (#96)

v0.13.2

29 Apr 18:29
Compare
Choose a tag to compare

What's new

Changed ⚠️

  • The Beaker.account.name property is now cached for performance reasons with a TTL cache.
  • Renamed Cluster.nodeCost to Cluster.node_cost for consistency.
  • Fixed some issues around mutable data models with properties that have different snake case vs lower camel case names.

Commits

d493fc4 Cached certain properties for performance, improve data model base (#94)
d07e7f3 Update README.md
97d1c36 Rename Cluster.nodeCost to Cluster.node_cost (#93)

v0.13.1

28 Apr 18:21
Compare
Choose a tag to compare

What's new

Changed ⚠️

  • Beaker.dataset.fetch() and Beaker.dataset.stream_file() now verify the digest of the downloaded bytes
    against the expected digest by default. A ChecksumFailedError is raised if they don't match.
    You can skip validating the checksum by passing validate_checksum=False.
  • Added a progress bar to Beaker.dataset.stream_file(). This can be disabled by passing quiet=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

27 Apr 18:04
Compare
Choose a tag to compare

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 a ThreadPoolExecutor for concurrency.
  • Changed behavior of Beaker.dataset.create() and Beaker.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 passing strip_paths=True.
  • Changed default value of max_workers to None in Beaker.dataset.create() and .sync().
    When left as None, the number of workers will be determined by the ThreadPoolExecutor.
  • "." 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

26 Apr 17:33
Compare
Choose a tag to compare

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 to Beaker.experiment.delete().
  • Added Cluster.is_cloud and Cluster.is_active properties.

Changed ⚠️

  • Changed the return type of Beaker.cluster.filter_available() from List[Cluster] to
    List[ClusterUtilization].
  • Renamed and consolidated NodeSpec and NodeShape to NodeResources.

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

21 Apr 17:37
Compare
Choose a tag to compare

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] with task: Optional[Union[str, Task]].

Commits

383bbe4 Rename task_name paremeter to task, add TaskNotFound error type (#85)
86a4ff5 clean up

v0.10.0

21 Apr 00:16
Compare
Choose a tag to compare

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() to ClusterUtilization.

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

19 Apr 21:56
Compare
Choose a tag to compare

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 to Beaker.image.create().

Changed ⚠️

  • Changed the signature of Beaker.experiment.results(). Added the task_name parameter
    and changed the return type to Optional[Dataset].
  • Changed the signature of Beaker.experiment.logs(). Removed the job_id parameter
    and added the task_name parameter.
  • Deprecated Beaker.experiment.await_all(). Use Beaker.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

18 Apr 17:50
Compare
Choose a tag to compare

What's new

Fixed ✅

  • Fixed issue in data model for Experiment. name and full_name are now optional.
  • Fixed issue in data model for Image. name and full_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

14 Apr 21:27
Compare
Choose a tag to compare

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