Skip to content

Commit 5b71ae1

Browse files
kkim-labelboxwhistlerKevin KimVal Brodskyvbrodsky
authored
Release 3.43.0 (#1044)
Co-authored-by: Ibrahim Muhammad <[email protected]> Co-authored-by: Kevin Kim <[email protected]> Co-authored-by: Val Brodsky <[email protected]> Co-authored-by: Val Brodsky <[email protected]> Co-authored-by: Klaus Opreschko <[email protected]> Co-authored-by: Klaus Opreschko <[email protected]> Co-authored-by: mnoszczak <[email protected]> Co-authored-by: Andrea Ovalle <[email protected]>
1 parent e89f990 commit 5b71ae1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+5727
-1576
lines changed

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,25 @@
11
# Changelog
22

3+
# Version 3.43.0 (2023-04-05)
4+
5+
## Added
6+
* Nested object classifications to `VideoObjectAnnotation`
7+
* Relationship Annotation Types
8+
* Added `project_ids` and `model_run_ids` to params in all export_v2 functions
9+
10+
## Fixed
11+
* VideoMaskAnnotation annotation import
12+
13+
## Notebooks
14+
* Added DICOM annotation import notebook
15+
* Added audio annotation import notebook
16+
* Added HTML annotation import notebook
17+
* Added relationship examples to annotation import notebooks
18+
* Added global video classification example
19+
* Added nested classification examples
20+
* Added video mask example
21+
* Added global key and LPOs to queue management notebook
22+
323
# Version 3.42.0 (2023-03-22)
424

525
## Added

CONTRIB.md

Lines changed: 50 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,25 @@
11
# Labelbox Python SDK Contribution Guide
22

3+
## Contribution Guidelines
4+
Thank you for expressing your interest in contributing to the Labelbox SDK.
5+
To ensure that your contribution aligns with our guidelines, please carefully
6+
review the following considerations before proceeding:
7+
8+
* For feature requests, we recommend consulting with Labelbox support or
9+
creating a [Github Issue](https://github.com/Labelbox/labelbox-python/issues) on our repository.
10+
* We can only accept general solutions that address common issues rather than solutions
11+
designed for specific use cases. Acceptable contributions include simple bug fixes and
12+
improvements to functions within the schema/ package.
13+
* Please ensure that any new libraries are compliant with the Apache license that governs the Labelbox SDK.
14+
* Ensure that you update any relevant docstrings and comments within your code
15+
316
## Repository Organization
417

518
The SDK source (excluding tests and support tools) is organized into the
619
following packages/modules:
20+
* `data/` package contains code that maps annotations (labels or pre-labels) to
21+
Python objects, as well as serialization and deserialization tools for converting
22+
between NDJson and Annotation Types.
723
* `orm/` package contains code that supports the general mapping of Labelbox
824
data to Python objects. This includes base classes, attribute (field and
925
relationship) classes, generic GraphQL queries etc.
@@ -25,58 +41,52 @@ following packages/modules:
2541
* Approved PRs are merged to the `develop` branch.
2642
* The `develop` branch is merged to `master` on each release.
2743

28-
## Commits
44+
## Formatting
2945

3046
Before making a commit, to automatically adhere to our formatting standards,
3147
install and activate [pre-commit](https://pre-commit.com/)
48+
```shell
49+
pip install pre-commit
50+
pre-commit install
51+
```
52+
After the above, running `git commit ...` will attempt to fix formatting,
53+
and make necessary changes to files. You will then need to stage those files again.
54+
55+
You may also manually format your code by running the following:
56+
```shell
57+
yapf tests labelbox -i --verbose --recursive --parallel --style "google"
58+
```
3259

33-
After the above, running `git commit ...` will attempt to fix formatting. If
34-
there was formatted needed, you will need to re-add and re-commit before pushing.
3560

3661
## Testing
3762

38-
Currently, the SDK functionality is tested using integration tests. These tests
39-
communicate with a Labelbox server (by default the staging server) and are in
40-
that sense not self-contained. Besides, that they are organized like unit test
41-
and are based on the `pytest` library.
63+
Currently, the SDK functionality is tested using unit and integration tests.
64+
The integration tests communicate with a Labelbox server (by default the staging server)
65+
and are in that sense not self-contained.
66+
67+
Please consult "Testing" section in the README for more details on how to test.
4268

43-
To execute tests you will need to provide an API key for the server you're using
69+
Additionally, to execute tests you will need to provide an API key for the server you're using
4470
for testing (staging by default) in the `LABELBOX_TEST_API_KEY` environment
4571
variable. For more info see [Labelbox API key docs](https://labelbox.helpdocs.io/docs/api/getting-started).
4672

47-
To pass tests, code must be formatted. If pre-commit was not installed,
48-
you will need to use the following command:
49-
50-
```shell
51-
yapf tests labelbox -i --verbose --recursive --parallel --style "google"
52-
```
5373

5474
## Release Steps
5575

56-
Each release should follow the following steps:
57-
58-
1. Update the Python SDK package version in `REPO_ROOT/setup.py`
59-
2. Make sure the `CHANGELOG.md` contains appropriate info
60-
3. Commit these changes and tag the commit in Git as `vX.Y`
61-
4. Merge `develop` to `master` (fast-forward only).
62-
5. Create a GitHub release.
63-
6. This will kick off a Github Actions workflow that will:
64-
- Build the library in the [standard way](https://packaging.python.org/tutorials/packaging-projects/#generating-distribution-archives)
65-
- Upload the distribution archives in the [standard way](https://packaging.python.org/tutorials/packaging-projects/#uploading-the-distribution-archives)
66-
- with credentials for the `labelbox` PyPI user.
67-
68-
## Running Jupyter Notebooks
69-
70-
We have plenty of good samples in the _examples_ directory and using them for testing can help us increase our productivity. One way to use jupyter notebooks is to run the jupyter server locally (another way is to use a VSC plugin, not documented here). It works really fast.
71-
72-
Make sure your notebook will use your source code:
73-
1. `ipython profile create`
74-
2. `ipython locate` - will show where the config file is. This is the config file used by the jupyter server, since it runs via ipython
75-
3. Open the file (this should be ipython_config.py and it is usually located in ~/.ipython/profile_default) and add the following line of code:
76-
```
77-
c.InteractiveShellApp.exec_lines = [
78-
'import sys; sys.path.insert(0, "<labelbox-python root folder>")'
79-
]
80-
```
81-
4. Go to the root of your project and run `jupyter notebook` to start the server
76+
Please consult the Labelbox team for releasing your contributions
77+
78+
## Running Jupyter Notebooks
79+
80+
We have plenty of good samples in the _examples_ directory and using them for testing can help us increase our productivity. One way to use jupyter notebooks is to run the jupyter server locally (another way is to use a VSC plugin, not documented here). It works really fast.
81+
82+
Make sure your notebook will use your source code:
83+
1. `ipython profile create`
84+
2. `ipython locate` - will show where the config file is. This is the config file used by the jupyter server, since it runs via ipython
85+
3. Open the file (this should be ipython_config.py and it is usually located in ~/.ipython/profile_default) and add the following line of code:
86+
```
87+
c.InteractiveShellApp.exec_lines = [
88+
'import sys; sys.path.insert(0, "<labelbox-python root folder>")'
89+
]
90+
```
91+
4. Go to the root of your project and run `jupyter notebook` to start the server
8292

docs/source/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
copyright = '2021, Labelbox'
2222
author = 'Labelbox'
2323

24-
release = '3.42.0'
24+
release = '3.43.0'
2525

2626
# -- General configuration ---------------------------------------------------
2727

0 commit comments

Comments
 (0)