Skip to content

Commit c0cbc53

Browse files
authored
Move domain-specific functionality to subpackages (#240)
* Move domain-specific functionality to subpackages * Add FastMakie.jl * Update tests * Add subpackage CI * run SciMLStyle * Add sysimage example * Update documentation * Rerun notebooks
1 parent d432f41 commit c0cbc53

File tree

166 files changed

+7438
-7419
lines changed

Some content is hidden

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

166 files changed

+7438
-7419
lines changed

.github/workflows/ci-fastmakie.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: CI - FastMakie
2+
on:
3+
push:
4+
paths-ignore:
5+
- 'docs/**'
6+
- 'FastTabular/**'
7+
- 'FastText/**'
8+
- 'FastVision/**'
9+
- '*.md'
10+
jobs:
11+
test:
12+
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
13+
runs-on: ${{ matrix.os }}
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
version:
18+
- '1.6'
19+
os:
20+
- ubuntu-latest
21+
- macOS-latest
22+
- windows-latest
23+
arch:
24+
- x64
25+
26+
steps:
27+
- uses: actions/checkout@v2
28+
- uses: julia-actions/setup-julia@v1
29+
with:
30+
version: ${{ matrix.version }}
31+
arch: ${{ matrix.arch }}
32+
- uses: actions/cache@v1
33+
env:
34+
cache-name: cache-artifacts
35+
with:
36+
path: ~/.julia/artifacts
37+
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
38+
restore-keys: |
39+
${{ runner.os }}-test-${{ env.cache-name }}-
40+
${{ runner.os }}-test-
41+
${{ runner.os }}-
42+
- name: Dev FastAI
43+
run: |
44+
julia --color=yes --project=./FastMakie -e 'using Pkg; pkg"dev ."'
45+
shell: bash
46+
- name: Dev test dependencies
47+
run: |
48+
julia --color=yes --project=./FastMakie/test -e 'using Pkg; pkg"dev . ./FastMakie "'
49+
shell: bash
50+
- uses: julia-actions/julia-buildpkg@latest
51+
with:
52+
project: './FastMakie/'
53+
- name: Run tests
54+
run: |
55+
julia --color=yes --depwarn=yes --project=./FastMakie/test -e 'include("FastMakie/test/runtests.jl")'
56+
continue-on-error: ${{ matrix.version == 'nightly' }}
57+
shell: bash

.github/workflows/ci-fasttabular.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: CI - FastTabular
2+
on:
3+
push:
4+
paths-ignore:
5+
- 'docs/**'
6+
- 'FastMakie/**'
7+
- 'FastText/**'
8+
- 'FastVision/**'
9+
- '*.md'
10+
jobs:
11+
test:
12+
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
13+
runs-on: ${{ matrix.os }}
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
version:
18+
- '1.6'
19+
os:
20+
- ubuntu-latest
21+
- macOS-latest
22+
arch:
23+
- x64
24+
25+
steps:
26+
- uses: actions/checkout@v2
27+
- uses: julia-actions/setup-julia@v1
28+
with:
29+
version: ${{ matrix.version }}
30+
arch: ${{ matrix.arch }}
31+
- uses: actions/cache@v1
32+
env:
33+
cache-name: cache-artifacts
34+
with:
35+
path: ~/.julia/artifacts
36+
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
37+
restore-keys: |
38+
${{ runner.os }}-test-${{ env.cache-name }}-
39+
${{ runner.os }}-test-
40+
${{ runner.os }}-
41+
- name: Dev FastAI
42+
run: |
43+
julia --color=yes --project=./FastTabular -e 'using Pkg; pkg"dev ."'
44+
shell: bash
45+
- name: Dev test dependencies
46+
run: |
47+
julia --color=yes --project=./FastTabular/test -e 'using Pkg; pkg"dev . ./FastTabular "'
48+
shell: bash
49+
- uses: julia-actions/julia-buildpkg@latest
50+
with:
51+
project: './FastTabular/'
52+
- name: Run tests
53+
run: |
54+
julia --color=yes --depwarn=yes --project=./FastTabular/test -e 'include("FastTabular/test/runtests.jl")'
55+
continue-on-error: ${{ matrix.version == 'nightly' }}
56+
shell: bash

.github/workflows/ci-fasttext.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: CI - FastText
2+
on:
3+
push:
4+
paths-ignore:
5+
- 'docs/**'
6+
- 'FastMakie/**'
7+
- 'FastTabular/**'
8+
- 'FastVision/**'
9+
- '*.md'
10+
jobs:
11+
test:
12+
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
13+
runs-on: ${{ matrix.os }}
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
version:
18+
- '1.6'
19+
os:
20+
- ubuntu-latest
21+
- macOS-latest
22+
- windows-latest
23+
arch:
24+
- x64
25+
26+
steps:
27+
- uses: actions/checkout@v2
28+
- uses: julia-actions/setup-julia@v1
29+
with:
30+
version: ${{ matrix.version }}
31+
arch: ${{ matrix.arch }}
32+
- uses: actions/cache@v1
33+
env:
34+
cache-name: cache-artifacts
35+
with:
36+
path: ~/.julia/artifacts
37+
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
38+
restore-keys: |
39+
${{ runner.os }}-test-${{ env.cache-name }}-
40+
${{ runner.os }}-test-
41+
${{ runner.os }}-
42+
- name: Dev FastAI
43+
run: |
44+
julia --color=yes --project=./FastText -e 'using Pkg; pkg"dev ."'
45+
shell: bash
46+
- name: Dev test dependencies
47+
run: |
48+
julia --color=yes --project=./FastText/test -e 'using Pkg; pkg"dev . ./FastText "'
49+
shell: bash
50+
- uses: julia-actions/julia-buildpkg@latest
51+
with:
52+
project: './FastText/'
53+
- name: Run tests
54+
run: |
55+
julia --color=yes --depwarn=yes --project=./FastText/test -e 'include("FastText/test/runtests.jl")'
56+
continue-on-error: ${{ matrix.version == 'nightly' }}
57+
shell: bash

.github/workflows/ci-fastvision.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: CI - FastVision
2+
on:
3+
push:
4+
paths-ignore:
5+
- 'docs/**'
6+
- 'FastTabular/**'
7+
- 'FastText/**'
8+
- '*.md'
9+
pull_request:
10+
paths-ignore:
11+
- 'docs/**'
12+
- 'FastTabular/**'
13+
- 'FastText/**'
14+
- '*.md'
15+
jobs:
16+
test:
17+
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
18+
runs-on: ${{ matrix.os }}
19+
strategy:
20+
fail-fast: false
21+
matrix:
22+
version:
23+
- '1.6'
24+
os:
25+
- ubuntu-latest
26+
- macOS-latest
27+
arch:
28+
- x64
29+
30+
steps:
31+
- uses: actions/checkout@v2
32+
- uses: julia-actions/setup-julia@v1
33+
with:
34+
version: ${{ matrix.version }}
35+
arch: ${{ matrix.arch }}
36+
- uses: actions/cache@v1
37+
env:
38+
cache-name: cache-artifacts
39+
with:
40+
path: ~/.julia/artifacts
41+
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
42+
restore-keys: |
43+
${{ runner.os }}-test-${{ env.cache-name }}-
44+
${{ runner.os }}-test-
45+
${{ runner.os }}-
46+
- name: Dev FastAI
47+
run: |
48+
julia --color=yes --project=./FastVision -e 'using Pkg; pkg"dev ."'
49+
shell: bash
50+
- name: Dev test dependencies
51+
run: |
52+
julia --color=yes --project=./FastVision/test -e 'using Pkg; pkg"dev . ./FastVision ./FastMakie"'
53+
shell: bash
54+
- uses: julia-actions/julia-buildpkg@latest
55+
with:
56+
project: './FastVision/'
57+
- name: Run tests
58+
run: |
59+
julia --color=yes --depwarn=yes --project=./FastVision/test -e 'include("FastVision/test/runtests.jl")'
60+
continue-on-error: ${{ matrix.version == 'nightly' }}
61+
shell: bash

.github/workflows/ci.yml

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,21 @@
11
name: CI
22
on:
3-
- push
4-
- pull_request
3+
push:
4+
paths-ignore:
5+
- 'docs/**'
6+
- 'FastMakie/**'
7+
- 'FastVision/**'
8+
- 'FastTabular/**'
9+
- 'FastText/**'
10+
- '*.md'
11+
pull_request:
12+
paths-ignore:
13+
- 'docs/**'
14+
- 'FastMakie/**'
15+
- 'FastVision/**'
16+
- 'FastTabular/**'
17+
- 'FastText/**'
18+
- '*.md'
519
jobs:
620
test:
721
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}

.github/workflows/pollenbuild.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: pollenbuild
1+
name: Documentation - Build
22

33
on:
44
push:
@@ -19,7 +19,7 @@ jobs:
1919
version: '1.7'
2020
- name: "Install package and docs dependencies"
2121
run: |
22-
julia --color=yes --project=./docs -e 'using Pkg; Pkg.add([Pkg.PackageSpec(path="."), Pkg.PackageSpec(url="https://github.com/c42f/JuliaSyntax.jl"), Pkg.PackageSpec(url="https://github.com/lorenzoh/ModuleInfo.jl"), Pkg.PackageSpec(url="https://github.com/lorenzoh/Pollen.jl", rev="main")]); Pkg.instantiate();'
22+
julia --color=yes --project=./docs -e 'using Pkg; pkg"dev . ./FastVision ./FastMakie ./FastTabular https://github.com/c42f/JuliaSyntax.jl https://github.com/lorenzoh/ModuleInfo.jl https://github.com/lorenzoh/Pollen.jl"; Pkg.instantiate();'
2323
- name: Build
2424
run: |
2525
julia --color=yes --project=./docs ./docs/make.jl ./pollen/dev/

.github/workflows/pollenpr.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Documentation - PR
2+
3+
on:
4+
- pr
5+
6+
jobs:
7+
pollen:
8+
name: "Pollen - test documentation build"
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v2
12+
- uses: actions/checkout@v2
13+
with:
14+
ref: pollen
15+
path: pollen
16+
- uses: julia-actions/setup-julia@latest
17+
with:
18+
version: '1.7'
19+
- name: "Install package and docs dependencies"
20+
run: |
21+
julia --color=yes --project=./docs -e 'using Pkg; pkg"dev . ./FastVision ./FastMakie ./FastTabular https://github.com/c42f/JuliaSyntax.jl https://github.com/lorenzoh/ModuleInfo.jl https://github.com/lorenzoh/Pollen.jl"; Pkg.instantiate();'
22+
- name: Build
23+
run: |
24+
julia --color=yes --project=./docs ./docs/make.jl ./pollen/dev/
25+
- name: Deploy
26+
run: |
27+
cd pollen
28+
git config user.name github-actions
29+
git config user.email [email protected]
30+
git add .
31+
git commit -m "Build documentation data (Pollen.jl)"
32+
git push
33+

.github/workflows/pollenstatic.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: pollenstatic
1+
name: Documentation - Deploy
22

33
on:
44
push:

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ test/Manifest.toml
33
docs/Manifest.toml
44
development/**
55
Manifest.toml
6-
**/*.jld2
6+
**/*.jld2
7+
*.so

CHANGELOG.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
### Changed
1111

12-
- (BREAKING) Now uses [MLUtils.jl](https://github.com/JuliaML/MLUtils.jl) to create and load datasets and data containers
12+
- (BREAKING): Now uses [MLUtils.jl](https://github.com/JuliaML/MLUtils.jl) to create and load datasets and data containers
1313
- Replaces dependencies MLDataPattern.jl, LearnBase.jl, and DataLoaders.jl
1414
- Data containers must now implement the `Base.getindex`/`MLUtils.getobs` and `Base.length`/`MLUtils.numobs` interfaces.
1515
- Previously exported `MLDataPattern.datasubset` has been replaced by `MLUtils.ObsView`
1616
- Documentation has been updated appropriately
17-
17+
- (BREAKING): `FastAI.Vision` now lives in a separate package `FastVision` that holds all computer vision-related functionality.
18+
- (BREAKING): `FastAI.Tabular` now lives in a separate package `FastTabular` that holds all tabular data-related functionality.
19+
20+
### Removed
21+
22+
- (BREAKING): `FastAI.Models` submodule. `Models` submodule of domain libraries, e.g. `FastVision.Models` should now be used.
1823

1924
## v0.4.3 (2022/05/14)
2025

@@ -105,7 +110,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
105110
- New interfaces
106111
- `blockbackbone` creates a default backbone for an input block
107112
- Support for tabular data along with recipes and learning methods:
108-
- [Tabular classification tutorial](https://fluxml.ai/FastAI.jl/dev/notebooks/tabularclassification.ipynb.html)
113+
- [Tabular classification tutorial](https://fluxml.ai/FastAI.jl/dev/docs/notebooks/tabularclassification.ipynb.html)
109114
- [`TabularPreprocessing`](https://fluxml.ai/FastAI.jl/dev/REFERENCE/FastAI.TabularPreprocessing.html), [`TableRow`](https://fluxml.ai/FastAI.jl/dev/REFERENCE/FastAI.TableRow.html), [`TableDataset`](https://fluxml.ai/FastAI.jl/dev/REFERENCE/FastAI.Datasets.TableDataset.html), [`TabularClassificiationSingle`](https://fluxml.ai/FastAI.jl/dev/REFERENCE/FastAI.TabularClassificationSingle.html), [`TabularRegression`](https://fluxml.ai/FastAI.jl/dev/REFERENCE/FastAI.TabularRegression.html)
110115

111116

@@ -115,7 +120,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
115120
- [README](https://fluxml.ai/FastAI.jl/dev/README.md.html)
116121
- [Introduction](https://fluxml.ai/FastAI.jl/dev/docs/introduction.md.html)
117122
- [Data containers](https://fluxml.ai/FastAI.jl/dev/docs/data_containers.md.html)
118-
- Combined how-tos on training [into a single page](https://fluxml.ai/FastAI.jl/dev/notebooks/training.ipynb.html)
123+
- Combined how-tos on training [into a single page](https://fluxml.ai/FastAI.jl/dev/docs/notebooks/training.ipynb.html)
119124
- Breaking changes to [`methodlearner`](https://fluxml.ai/FastAI.jl/dev/REFERENCE/FastAI.methodlearner.html):
120125
- now accepts `callbacks` as kwarg
121126
- `validdata` no longer keyword

0 commit comments

Comments
 (0)