Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release/v1.0.0 #4873

Merged
merged 420 commits into from
Oct 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
420 commits
Select commit Hold shift + click to select a range
86aad06
tweak
brimoor Sep 4, 2024
c2f30fa
improve plot selection
ritch Sep 3, 2024
abf92e2
more plot event handler docs
ritch Sep 4, 2024
86a725e
Merge remote-tracking branch 'origin/main' into merge/main-to-develop
findtopher Sep 6, 2024
3153c2f
bump version for next `develop` release
findtopher Sep 6, 2024
6e26d52
Dict safe get operation (#4776)
minhtuev Sep 7, 2024
f784591
require pydicom<3 (#4778)
benjaminpkane Sep 9, 2024
43427bb
update labelstudio docs for multilabel classification
ehofesmann Sep 9, 2024
2e22df5
Bump peter-evans/create-pull-request from 6 to 7 (#4777)
dependabot[bot] Sep 9, 2024
bf5f747
Bump micromatch from 4.0.5 to 4.0.8 in /app (#4780)
dependabot[bot] Sep 9, 2024
06f617d
hover mouse over tagger container to hide popout text that's intercep…
sashankaryal Sep 9, 2024
8a513f7
Merge pull request #4782 from voxel51/main-to-develop-e2e-fix
findtopher Sep 9, 2024
18b6bd5
Merge pull request #4775 from voxel51/merge/main-to-develop
findtopher Sep 9, 2024
ad76f26
fix tagger e2e tests (#4783)
sashankaryal Sep 10, 2024
68d2f21
clarify env vars for plugin orchestrator
swheaton Sep 10, 2024
f53cbb9
Add keyboard support for esc and seek for imavid (#4726)
CamronStaley Sep 10, 2024
fef1e9d
support large deletions
brimoor Sep 10, 2024
c699f8d
warn on missing events (#4768)
benjaminpkane Sep 10, 2024
871016d
Remove desktop App (#4748)
benjaminpkane Sep 11, 2024
e731f34
remove App-only note
brimoor Sep 11, 2024
9528fc2
Merge pull request #4787 from voxel51/large-deletes
brimoor Sep 11, 2024
ca1ff54
Bump path-to-regexp from 6.2.1 to 8.0.0 in /app (#4790)
dependabot[bot] Sep 11, 2024
94871b3
Lightning filter fixes (#4757)
benjaminpkane Sep 11, 2024
67a9c6e
add product analytics rate limiting
ritch Sep 9, 2024
c52b57d
add tests to analytics
ritch Sep 10, 2024
d4950f1
remove rate limiting from analytics
ritch Sep 10, 2024
4a41ed3
remove rate limiting from analytics
ritch Sep 11, 2024
821670e
Merge pull request #4791 from voxel51/docs-update
brimoor Sep 12, 2024
25bfc40
Merge pull request #4725 from tataganesh/labelstudio_multilabel
brimoor Sep 12, 2024
038bb87
lint
brimoor Sep 12, 2024
8811fd9
Merge pull request #4729 from voxel51/fix/mongoengine-document-misc-bugs
brimoor Sep 12, 2024
cad8bab
Merge pull request #4785 from voxel51/docs/clarify-orch-env-vars
brimoor Sep 12, 2024
62ec8a5
Merge pull request #4781 from voxel51/docs/labelstudio-classifications
brimoor Sep 12, 2024
6f49ddf
adding support for remotely-sourced zoo datasets
brimoor Aug 27, 2024
774d2f2
doc updates
brimoor Aug 28, 2024
fcf69a5
standardize fiftyone.yml files
brimoor Aug 29, 2024
8886980
documenting remote zoo datasets
brimoor Aug 29, 2024
e86d6dd
updating fiftyone.yml format
brimoor Aug 29, 2024
a94f3fb
docs updates
brimoor Aug 29, 2024
4879117
refactor overwrite
brimoor Aug 29, 2024
bff6e8b
docs updates
brimoor Aug 29, 2024
ef89469
improve info display
brimoor Aug 29, 2024
ce86516
don't change signature
brimoor Aug 30, 2024
05b2409
docs bug
brimoor Aug 30, 2024
42ee502
tweak
brimoor Sep 4, 2024
6629572
tweaks
brimoor Sep 9, 2024
78e85ef
typo
brimoor Sep 9, 2024
592f183
register module
brimoor Sep 10, 2024
ea755ad
adding support for remotely-sourced zoo models
brimoor Sep 9, 2024
0ccced0
bugs
brimoor Sep 10, 2024
2a04895
use openai-clip as example
brimoor Sep 10, 2024
80d632d
linting
brimoor Sep 10, 2024
977eb51
adding created_at and last_modified_at fields
brimoor Jul 22, 2024
70410c5
fixing tests
brimoor Jul 27, 2024
dfa7cd6
populate created_at when upgrading
brimoor Jul 27, 2024
110ab6d
explaining
brimoor Jul 27, 2024
fcc79e2
removing unused imports
brimoor Jul 27, 2024
620fdef
copying good ideas from virtual fields
brimoor Aug 8, 2024
4ef53f4
fixing typo
brimoor Aug 20, 2024
047af5f
adding missing import
brimoor Aug 20, 2024
f502b51
fix new tests
brimoor Aug 20, 2024
cbd0b2d
update histograms spec
benjaminpkane Aug 21, 2024
26c7fb2
explaining ourselves
brimoor Aug 22, 2024
1c10d5a
Fields have created_at attribute (#4730)
swheaton Aug 30, 2024
cab2429
fixed tests except weird migration issues. push to see if global or l…
swheaton Aug 30, 2024
3bf8fca
Bump dset from 3.1.3 to 3.1.4 in /app (#4793)
dependabot[bot] Sep 12, 2024
065cd52
make field.created_at recursive
brimoor Sep 12, 2024
9ea1291
handle docs with untracked changes
brimoor Sep 12, 2024
e72e48a
improve product analytics
ritch Sep 12, 2024
bc7c482
update consent msg
ritch Sep 12, 2024
749ed0c
Timeline API (#4772)
sashankaryal Sep 13, 2024
e3c144b
Merge pull request #4597 from voxel51/last-modified-at
brimoor Sep 15, 2024
38527cb
Merge pull request #4752 from voxel51/remote-zoo-datasets
brimoor Sep 15, 2024
eaba665
OSS `fiftyone-brain` updates (#4797)
benjaminpkane Sep 16, 2024
92a621f
Scale grid text (#4747)
benjaminpkane Sep 16, 2024
6431e0b
Fix selection for group modal (#4789)
benjaminpkane Sep 16, 2024
1fd3654
bumping ETA version
brimoor Sep 16, 2024
790ef1b
fixes and enhancements for modal spaces
imanjra Sep 5, 2024
71e926a
use only local state atom for modal spaces
imanjra Sep 11, 2024
f8a900f
fix modal navigation bug (#4803)
sashankaryal Sep 16, 2024
afa8f11
skip e2e tests that use zoo datasets (#4804)
sashankaryal Sep 16, 2024
cb665e4
protect against infinitely growing content size batcher (#4806)
swheaton Sep 17, 2024
846b8e2
Merge pull request #4786 from voxel51/remote-zoo-models
brimoor Sep 17, 2024
c270dc7
Fix list_downloaded_zoo_datasets (#4807)
benjaminpkane Sep 17, 2024
960cf9b
allow loading the app even when plugins fails to load
imanjra Sep 4, 2024
2173d35
display operator placement loading error
imanjra Aug 22, 2024
5e1af87
Add support for summary fields (#4765)
minhtuev Sep 17, 2024
914517c
Bump vite from 5.2.12 to 5.2.14 in /app (#4811)
dependabot[bot] Sep 17, 2024
5c6818c
Enhancements for GridView and other OperatorIO views
imanjra Sep 3, 2024
eedfcba
add date fields to primitives sidebar group
brimoor Sep 18, 2024
2623baa
Bump vite from 5.2.8 to 5.4.6 in /e2e-pw (#4812)
dependabot[bot] Sep 18, 2024
93a7f3b
Merge pull request #4815 from voxel51/bug-sidebar-groups
brimoor Sep 18, 2024
3d0fc24
Improve colorscheme ux (#4763)
lanzhenw Sep 19, 2024
8234283
Bump vite from 5.4.3 to 5.4.6 in /app (#4821)
dependabot[bot] Sep 19, 2024
13959ff
merge main
benjaminpkane Sep 19, 2024
cf84356
Merge pull request #4824 from voxel51/merge-hotfix
benjaminpkane Sep 19, 2024
bac2d2a
fix off-by-one errors parsing stuff and thing instances
Sep 19, 2024
64136c5
Update e2e screenshots (#4808)
sashankaryal Sep 19, 2024
f0b9ce7
it is time to deprecate python 3.8
findtopher Sep 18, 2024
921b6d8
pymongo fix
findtopher Sep 18, 2024
04fb23c
Update docs/README.md
findtopher Sep 19, 2024
8fc8e2d
an attempt to fix Sphinx docs
findtopher Sep 19, 2024
319d6c5
bump db version to reflect package changes
findtopher Sep 19, 2024
13ddeea
more sphinx pins
findtopher Sep 19, 2024
71c8017
address db tests
findtopher Sep 19, 2024
72adc0c
more sphinx fixes
findtopher Sep 19, 2024
c96d10a
even older sphinx plugins!
findtopher Sep 19, 2024
245f5c7
sphinxcontrib.serializinghtml pin
findtopher Sep 19, 2024
f61995c
sphinxcontrib-qthelp pin
findtopher Sep 19, 2024
a57e6f0
migrating zoo/brain docs to top-level
brimoor Sep 18, 2024
a9acf18
bug
brimoor Sep 18, 2024
ab8c08d
Merge pull request #4817 from voxel51/topher/deprecate-python-8
findtopher Sep 20, 2024
e5a0107
Bump vite from 5.1.6 to 5.4.6 in /app (#4823)
dependabot[bot] Sep 20, 2024
dacedbc
Merge pull request #4826 from kemaleren/seg_mask_off_by_one
brimoor Sep 20, 2024
12aec6e
add scheduled state for delegated_ops collection (#4810)
CamronStaley Sep 20, 2024
076778a
reordering sidebar
brimoor Sep 23, 2024
10a593b
remove deprecated methods
brimoor Sep 23, 2024
22ef194
Merge pull request #4832 from voxel51/deprecated
brimoor Sep 23, 2024
bfd758a
Merge pull request #4818 from voxel51/docs-migration
brimoor Sep 23, 2024
6174baa
adding builtin operators for more of the FO interface
brimoor Sep 22, 2024
e2ca831
cleanup
brimoor Sep 22, 2024
7729a99
thanks coderabbit
brimoor Sep 22, 2024
300a86a
add _get_last_modified_at util
brimoor Sep 23, 2024
bc79d8d
adding sync_last_modified_at operator
brimoor Sep 23, 2024
2b20aab
thx coderabbit
brimoor Sep 23, 2024
229d780
use _get_last_modified_at
brimoor Sep 23, 2024
6bc08c0
fixing docs link
brimoor Sep 23, 2024
f2d9ff4
maintain exact last_modified_at times
brimoor Sep 23, 2024
5ca5e40
more robust migration
brimoor Sep 24, 2024
cf82768
fill none
brimoor Sep 24, 2024
160f7bd
explain how to resolve
brimoor Sep 24, 2024
54e2760
Bump rollup from 4.21.3 to 4.22.4 in /e2e-pw (#4835)
dependabot[bot] Sep 24, 2024
65cfa91
Adding MedSAM2 to the model zoo (#4828)
prernadh Sep 24, 2024
75e8e87
add version tracking
ritch Sep 17, 2024
77de164
Merge pull request #4830 from voxel51/builtin-operators
brimoor Sep 24, 2024
eceaa13
add script to post process docs
imanjra Sep 24, 2024
8a17804
reduce modal action row button size for better fit
imanjra Sep 18, 2024
6f414c5
fix operator placements not loading issue
imanjra Sep 24, 2024
a5795fe
updates
brimoor Sep 24, 2024
e94cde0
disable analytics.page() when url tracking disabled
ritch Sep 16, 2024
d4bc6be
on left, smaller
brimoor Sep 24, 2024
125ff93
update font size for new tag
imanjra Sep 25, 2024
b3ec6d3
em and alignment
brimoor Sep 25, 2024
1b14d08
Sidebar enhancements for summary fields (#4833)
benjaminpkane Sep 25, 2024
522b90c
create imaVidLooker tsx
sashankaryal Sep 16, 2024
fa22883
fix effects dependency bugs
sashankaryal Sep 17, 2024
47ab48a
add accessor for config and options in imavid looker
sashankaryal Sep 17, 2024
188870a
add waitUntilInitialized
sashankaryal Sep 17, 2024
c465d9b
more timeline views
sashankaryal Sep 18, 2024
dae79e9
remove imavid refs from old modal looker code
sashankaryal Sep 18, 2024
b720a39
styling changes
sashankaryal Sep 18, 2024
feeaaf4
don't 'key' modal panel
sashankaryal Sep 13, 2024
41dbae9
memoize timeline panel
sashankaryal Sep 13, 2024
de5d3dd
fix timeline initialized stale ref bug
sashankaryal Sep 13, 2024
b6bbac2
add getIsTimelineInitializedAtom
sashankaryal Sep 13, 2024
abf8821
add timeline examples
sashankaryal Sep 13, 2024
fe14fe9
reset timeline buffer manager when a new subscriber is added
sashankaryal Sep 16, 2024
6c20e49
warn for re-subscription
sashankaryal Sep 16, 2024
4d95f06
implement speed
sashankaryal Sep 19, 2024
3150d10
play/pause on space
sashankaryal Sep 19, 2024
7747416
restore loader bar in thumbnail
sashankaryal Sep 20, 2024
dcf1ad6
remove loadrange call
sashankaryal Sep 20, 2024
880e53e
return from key event handler if we're in input field
sashankaryal Sep 20, 2024
433f881
imavid looker shortcuts (esc, next, previous)
sashankaryal Sep 20, 2024
7397314
add support for optOutOfAnimation
sashankaryal Sep 20, 2024
194b636
add buffering
sashankaryal Sep 23, 2024
1502bda
add docstrings
sashankaryal Sep 24, 2024
f2c9635
selectively stop event prograpagation in key handler
sashankaryal Sep 24, 2024
b0f5696
rename useDefaultTimelineName to useDefaultTimelineNameImperative
sashankaryal Sep 24, 2024
8bdc6ef
pause aggregations during play / seek
sashankaryal Sep 24, 2024
8a0e41b
dispatch setframe event in window
sashankaryal Sep 24, 2024
d2c58ad
resolve loadrange promise after some time to allow buffering
sashankaryal Sep 24, 2024
4a54c3a
remove superfluous code
sashankaryal Sep 24, 2024
0e6f438
upgrade jimp and playwright
sashankaryal Sep 24, 2024
7ffeebe
fix imavid e2e
sashankaryal Sep 24, 2024
300191f
initial animated py panels
ritch Sep 9, 2024
57cfdc1
frameloaderview fixes
ritch Sep 16, 2024
78763e0
py panels timeline fixes
ritch Sep 16, 2024
343df04
more timeline fixes for py panels
ritch Sep 16, 2024
eb02ec6
cleanup from timeline api changes
ritch Sep 16, 2024
1c5a1ba
frame loader buffering
ritch Sep 17, 2024
4714878
package.json for playback fix
ritch Sep 20, 2024
99c235e
remove old test code
ritch Sep 24, 2024
277df87
frameloader cleanup
ritch Sep 24, 2024
dbda408
framelaoder fixes
ritch Sep 24, 2024
744ac11
more frameloader cleanup
ritch Sep 25, 2024
2afece4
fix dynamic groups e2e failing because of imavid
sashankaryal Sep 25, 2024
ab70626
fix seek bug
sashankaryal Sep 25, 2024
b00a4de
summary fields should support frame-level input paths
brimoor Sep 25, 2024
69f3d43
fix panel bug
sashankaryal Sep 25, 2024
17be412
fix execute not working for JS operators
imanjra Sep 25, 2024
869bd0b
Merge pull request #4841 from voxel51/bug/create-summary-field-operator
brimoor Sep 25, 2024
c88b811
fix type error
sashankaryal Sep 25, 2024
9e7aa51
Merge pull request #4838 from voxel51/docs/post-process-im
brimoor Sep 25, 2024
3828d2e
Merge pull request #4816 from voxel51/refactor/imavid-with-timeline-api
sashankaryal Sep 25, 2024
666f630
Persist current slice during group modal navigation (#4836)
benjaminpkane Sep 25, 2024
98b27e4
Bump strawberry-graphql from 0.138.1 to 0.243.0 in /requirements (#4842)
dependabot[bot] Sep 25, 2024
4845d52
add flags that allow both pcd and ply geometries to be centered (#4843)
sashankaryal Sep 25, 2024
fc22e3a
add set_group_slice operator
imanjra Sep 25, 2024
cbb8b15
use default_group_slice
brimoor Sep 25, 2024
6a358a0
add reload_on_navigation
sashankaryal Sep 25, 2024
a84d41e
optional chaining for group id
sashankaryal Sep 25, 2024
f8a2f34
add timeline ops
ritch Sep 25, 2024
353772e
cleanup imports
ritch Sep 25, 2024
087d8cc
fix types
ritch Sep 25, 2024
8fb25bd
fix timeline ops
ritch Sep 25, 2024
52e84fc
more timeline ops fixes
ritch Sep 25, 2024
db50f5d
timeline ops cleanup
ritch Sep 25, 2024
52403e4
add docs on panel surfaces
sashankaryal Sep 25, 2024
55e26f0
clarify modal panels doc
sashankaryal Sep 25, 2024
324a0cf
explicate all possible values
sashankaryal Sep 25, 2024
0cf14c7
Merge branch 'release/v1.0.0' into bugfix/grp-slice-op
brimoor Sep 26, 2024
0b928cf
Merge pull request #4844 from voxel51/bugfix/grp-slice-op
brimoor Sep 26, 2024
0db69e2
Merge pull request #4849 from voxel51/merge/release/v1.0.0
imanjra Sep 26, 2024
6ea76d6
add group slice in operator context
imanjra Sep 26, 2024
60de364
group slice operator tweaks
imanjra Sep 26, 2024
e152852
uppercase (#4852)
benjaminpkane Sep 26, 2024
1bdde71
Merge branch 'release/v1.0.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Sep 26, 2024
808260c
more group_slice updates
brimoor Sep 26, 2024
e38dfd0
intelligent default
brimoor Sep 26, 2024
00e5335
no monkey business
brimoor Sep 26, 2024
1839099
fix noisy analtyics
ritch Sep 26, 2024
256d154
Merge branch 'release/v1.0.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Sep 26, 2024
864604b
Merge pull request #4850 from voxel51/feat/grp-slice-ctx
brimoor Sep 27, 2024
df12c90
Merge branch 'release/v1.0.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Sep 27, 2024
c465139
Merge pull request #4854 from voxel51/bugfix/no-monkey-patching
brimoor Sep 27, 2024
8a2648b
Merge branch 'release/v1.0.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Sep 27, 2024
cb040ed
Merge pull request #4853 from voxel51/merge/release/v1.0.0
benjaminpkane Sep 27, 2024
b305252
fix url tracking
ritch Sep 27, 2024
81037fa
Render summary fields in modal sidebar (#4851)
benjaminpkane Sep 27, 2024
d3960f8
fix state scope missing in some panel hooks
imanjra Sep 27, 2024
f5e8a5a
timeline fix: loadrange in imavid (#4857)
sashankaryal Sep 27, 2024
ba40b0e
don't update dataset doc until field values are populated
brimoor Sep 27, 2024
3e1a9b1
increase zIndex of modal sidebar to fix resize bug (#4860)
imanjra Sep 27, 2024
7ebfd94
Merge pull request #4861 from voxel51/robust-migration
brimoor Sep 27, 2024
887654f
Merge pull request #4859 from voxel51/bugfix/missing-panel-state-scope
brimoor Sep 27, 2024
f5cdc88
Fix dynamic groups carousel bug (#4863)
sashankaryal Sep 27, 2024
a38596d
Small bug fix for Numerical Field in Summary Field Operator
Sep 27, 2024
543ecf3
Merge pull request #4864 from voxel51/bugfix/summary_field_operator
brimoor Sep 28, 2024
6a215b6
adding release notes
brimoor Sep 25, 2024
5fcbed6
modal panels
brimoor Sep 26, 2024
770869b
adding 4844
brimoor Sep 26, 2024
e68d444
adding ctx.group_slice release note
brimoor Sep 27, 2024
70aead6
adding segments AI to logo wall
brimoor Sep 27, 2024
5ab32f7
Better heatmap range handling (#4865)
benjaminpkane Sep 30, 2024
21531d8
add heatmap fix
benjaminpkane Sep 30, 2024
e666b66
Merge pull request #4839 from voxel51/release-notes
brimoor Sep 30, 2024
40593bd
Add Fedora support to fiftyone-db (#4866)
benjaminpkane Sep 30, 2024
7068e77
fix save workspace built-in operator
imanjra Sep 30, 2024
169c3b3
Merge pull request #859 from voxel51/fix/pause-animation-if-buffering…
sashankaryal Sep 30, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 8 additions & 4 deletions .github/workflows/build-db.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ jobs:
path: package/db/dist/*.whl

test:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
needs: build
env:
FIFTYONE_DO_NOT_TRACK: true
Expand All @@ -90,16 +90,20 @@ jobs:
with:
name: dist-sdist
path: downloads
- name: Set up Python 3.9
uses: actions/setup-python@v5
with:
python-version: 3.9
- name: Install fiftyone-db
run: |
pip3 install downloads/fiftyone_db-*.tar.gz
pip install downloads/fiftyone_db-*.tar.gz
- name: Install test dependencies
run: |
pip3 install pytest
pip install pytest
- name: Run tests
run: |
cd package/db/
python3 -m pytest --verbose tests/
python -m pytest --verbose tests/

publish:
runs-on: ubuntu-latest
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,10 @@ jobs:
path: fiftyone-teams
token: ${{ secrets.TEAMS_GITHUB_PAT }}
ref: main
- name: Set up Python 3.8
- name: Set up Python 3.9
uses: actions/setup-python@v5
with:
python-version: 3.8
python-version: 3.9
- name: Install pip dependencies
run: |
pip install --upgrade pip setuptools wheel build
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ jobs:
uses: actions/checkout@v4
with:
submodules: true
- name: Set up Python 3.8
- name: Set up Python 3.9
uses: actions/setup-python@v5
with:
python-version: 3.8
python-version: 3.9
- name: Install dependencies
run: |
pip install --upgrade pip setuptools wheel build
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/push-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
git checkout develop
git pull origin merge/${{ inputs.ref_name || github.ref_name }} --no-rebase
git pull origin ${{ inputs.ref_name || github.ref_name }} --no-rebase
- uses: peter-evans/create-pull-request@v6
- uses: peter-evans/create-pull-request@v7
with:
author: voxel51-bot <[email protected]>
token: ${{ secrets.FIFTYONE_GITHUB_TOKEN }}
Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,10 @@ jobs:
- ubuntu-latest-m
- windows-latest
python:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
exclude:
- os: windows-latest
python: "3.8"
- os: windows-latest
python: "3.9"
- os: windows-latest
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ __pycache__
build/
dist/

/fiftyone-brain/
/eta/

/docs/build/
Expand Down
127 changes: 53 additions & 74 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,81 +1,45 @@
# Dockerfile for building an image with a source FiftyOne install atop a
# Debian-based Linux distribution.
# Copyright 2017-2024, Voxel51, Inc.
# voxel51.com
#
# By default, Ubuntu 20.04 and Python 3.8 are used, but these can be customized
# via ARGs.
# Dockerfile for building an image with source FiftyOne atop a Python 3.11
# base image
#
# ARGs::
#
# BASE_IMAGE (ubuntu:20.04): The Debian-based image to build from
# PYTHON_VERSION (3.8): The Python version to install
# PIP_INDEX_URL (https://pypi.org/simple): Allow the use of caching proxies
# PYTHON_VERSION (3.11): The Python base image to use
# ROOT_DIR (/fiftyone): The name of the directory within the container that
# should be mounted when running
#
# Example usage::
#
# # Build
# make python
# docker build -t voxel51/fiftyone .
# make docker
#
# # Run
# SHARED_DIR=/path/to/shared/dir
# docker run \
# -v ${SHARED_DIR}:/fiftyone \
# -p 5151:5151 \
# -it voxel51/fiftyone
#
# Copyright 2017-2022, Voxel51, Inc.
# voxel51.com
# -it local/fiftyone
#

# The base image to build from; must be Debian-based (eg Ubuntu)
ARG BASE_IMAGE=ubuntu:20.04
FROM $BASE_IMAGE
# The base python image to build from
ARG PYTHON_VERSION=3.11

# The Python version to install
ARG PYTHON_VERSION=3.8
# Collect wheels for future installation
FROM python:${PYTHON_VERSION} AS builder
ARG PIP_INDEX_URL=https://pypi.org/simple

#
# Install system packages
#
COPY dist dist

RUN apt -y update \
&& apt -y --no-install-recommends install software-properties-common \
&& add-apt-repository -y ppa:deadsnakes/ppa \
&& apt -y update \
&& apt -y upgrade \
&& apt -y --no-install-recommends install tzdata \
&& TZ=Etc/UTC \
&& apt -y --no-install-recommends install \
build-essential \
ca-certificates \
cmake \
cmake-data \
pkg-config \
libcurl4 \
libsm6 \
libxext6 \
libssl-dev \
libffi-dev \
libxml2-dev \
libxslt1-dev \
zlib1g-dev \
unzip \
curl \
wget \
python${PYTHON_VERSION} \
python${PYTHON_VERSION}-dev \
python${PYTHON_VERSION}-distutils \
ffmpeg \
&& ln -s /usr/bin/python${PYTHON_VERSION} /usr/local/bin/python \
&& ln -s /usr/local/lib/python${PYTHON_VERSION} /usr/local/lib/python \
&& curl https://bootstrap.pypa.io/get-pip.py | python \
&& rm -rf /var/lib/apt/lists/*
RUN pip --no-cache-dir install -q -U pip setuptools wheel \
&& pip wheel --wheel-dir=/wheels \
dist/*.whl \
ipython

#
# Install Python dependencies
#
# Other packages you might want:
# Other packages you might want to add to the list above:
# torch torchvision: Torch model training/zoo datasets
# tensorflow tensorflow-datasets: TF model training/zoo datasets
# pycocotools: COCO-style evaluation
Expand All @@ -88,36 +52,51 @@ RUN apt -y update \
# pydicom: DICOM images
#

RUN pip --no-cache-dir install --upgrade pip setuptools wheel ipython

#
# Install FiftyOne from source
#

COPY dist dist
RUN pip --no-cache-dir install dist/*.whl && rm -rf dist

# Use this instead if you want the latest FiftyOne release
# RUN pip --no-cache-dir install fiftyone

#
# Configure shared storage
#
# Create a smaller image with wheels installed
FROM python:${PYTHON_VERSION}-slim AS final
ARG PIP_INDEX_URL=https://pypi.org/simple

# The name of the shared directory in the container that should be
# volume-mounted by users to persist data loaded into FiftyOne
ARG ROOT_DIR=/fiftyone

WORKDIR /opt

ENV FIFTYONE_DATABASE_DIR=${ROOT_DIR}/db \
FIFTYONE_DEFAULT_APP_ADDRESS='0.0.0.0' \
FIFTYONE_DEFAULT_DATASET_DIR=${ROOT_DIR}/default \
FIFTYONE_DATASET_ZOO_DIR=${ROOT_DIR}/zoo/datasets \
FIFTYONE_MODEL_ZOO_DIR=${ROOT_DIR}/zoo/models
FIFTYONE_MODEL_ZOO_DIR=${ROOT_DIR}/zoo/models \
VIRTUAL_ENV=/opt/.fiftyone-venv
ENV PATH="${VIRTUAL_ENV}/bin:${PATH}"

# Update the base image and install ffmpeg
RUN apt-get -qq -y update && apt-get -qq -y upgrade \
&& apt-get -qq install -y --no-install-recommends ffmpeg libcurl4 php-curl \
&& apt clean && rm -rf /var/lib/apt/lists/*

# Create Virtual Env
RUN python -m venv "${VIRTUAL_ENV}"

# Install wheels from builder stage
RUN --mount=type=cache,from=builder,target=/builder,ro \
pip --no-cache-dir install -q -U pip setuptools wheel \
&& pip --no-cache-dir install -q --pre --no-index \
--find-links=/builder/wheels \
/builder/wheels/*

#
# Default behavior
# Default, interactive, behavior
#

CMD ipython
CMD [ "ipython" ]

# Use this if you want the default behavior to instead be to launch the App
# CMD python /usr/local/lib/python/dist-packages/fiftyone/server/main.py --port 5151
# Use this if want the default behavior to launch the App instead
# EXPOSE 5151
# CMD [ \
# "python", \
# ".fiftyone-venv/lib/python3.11/site-packages/fiftyone/server/main.py", \
# "--port", \
# "5151" \
# ]
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ python: app clean
@python -Im build

docker: python
@docker build -t voxel51/fiftyone .
@docker build -t local/fiftyone .

docker-export: docker
@docker save voxel51/fiftyone:latest | gzip > fiftyone.tar.gz
25 changes: 5 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,8 @@ FiftyOne.

## Contributing to FiftyOne

FiftyOne is open source and community contributions are welcome!
FiftyOne and [FiftyOne Brain](https://github.com/voxel51/fiftyone-brain) are
open source and community contributions are welcome!

Check out the
[contribution guide](https://github.com/voxel51/fiftyone/blob/develop/CONTRIBUTING.md)
Expand All @@ -132,12 +133,12 @@ to make adjustments. If you are working in Google Colab,

You will need:

- [Python](https://www.python.org) (3.8 - 3.11)
- [Python](https://www.python.org) (3.9 - 3.11)
- [Node.js](https://nodejs.org) - on Linux, we recommend using
[nvm](https://github.com/nvm-sh/nvm) to install an up-to-date version.
- [Yarn](https://yarnpkg.com) - once Node.js is installed, you can
[enable Yarn](https://yarnpkg.com/getting-started/install) via
`corepack enable`
`corepack enable`
- On Linux, you will need at least the `openssl` and `libcurl` packages. On
Debian-based distributions, you will need to install `libcurl4` or
`libcurl3` instead of `libcurl`, depending on the age of your distribution.
Expand Down Expand Up @@ -245,22 +246,6 @@ Refer to
to see how to build and run Docker images containing source or release builds
of FiftyOne.

### UI Development on Storybook

Voxel51 is currently in the process of implementing a
[Storybook](https://storybook.js.org/) which contains examples of its basic UI
components. You can access the current storybook instances by running **yarn
storybook** in **/app/packages/components**. While the storybook instance is
running, any changes to the component will trigger a refresh in the storybook
app.

```shell
%%shell

cd /app/packages/components
yarn storybook
```

### Generating documentation

See the
Expand All @@ -272,7 +257,7 @@ for information on building and contributing to the documentation.
You can uninstall FiftyOne as follows:

```shell
pip uninstall fiftyone fiftyone-brain fiftyone-db fiftyone-desktop
pip uninstall fiftyone fiftyone-brain fiftyone-db
```

## Contributors
Expand Down
3 changes: 1 addition & 2 deletions app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
"doc": "./gen-docs.sh",
"lint:prettify": "prettier --config ../.prettierrc.js --ignore-path ../.prettierignore --write \"packages/**/*.(ts|js|jsx|tsx|json|css|scss)\"",
"start": "yarn workspace @fiftyone/app start",
"start-desktop": "yarn workspace FiftyOne start-desktop",
"test": "yarn vitest run",
"test-ui": "yarn vitest --ui --coverage",
"gen:schema": "strawberry export-schema fiftyone.server.app:schema > schema.graphql"
Expand All @@ -43,7 +42,7 @@
"typedoc": "^0.23.21",
"typescript": "^4.7.4",
"typescript-plugin-css-modules": "^5.0.2",
"vite": "^5.2.12",
"vite": "^5.2.14",
"vite-plugin-eslint": "^1.8.1",
"vite-plugin-relay": "^2.0.0",
"vitest": "^2.0.5"
Expand Down
2 changes: 1 addition & 1 deletion app/packages/aggregations/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@
"lodash": "^4.17.21",
"prettier": "2.2.1",
"typescript": "4.2.4",
"vite": "^5.2.12"
"vite": "^5.2.14"
}
}
Loading
Loading