-
Notifications
You must be signed in to change notification settings - Fork 26
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
[Breaking] Maintain a closed environment of GDAL-compatible types #179
Merged
Merged
Changes from 115 commits
Commits
Show all changes
174 commits
Select commit
Hold shift + click to select a range
928e88b
ignore .DS_Store files
yeesian fd95b3f
Return errors for unknown datatypes when looking up gdaltypes
yeesian 52a183a
bugfix for looking up julia datatypes when given a gdaldatatype
yeesian 95fb4db
throw informative error message for unknown field types
yeesian d09334d
Add instructions for managing dependencies
yeesian d317029
remove cenum dependency
yeesian de98ada
[Breaking change] Maintain our own OGRFieldType
yeesian 36085e9
[stylistic] Require explicit return statements and enforce maxcolumnw…
yeesian 9bb0304
Update the types in the API to be based on julia types (rather than C…
yeesian aa380f3
[Breaking change] Introduce types for wkbGeometryType
yeesian d9ea813
Encapsulate the tests in their own testsets for better organization o…
yeesian 912cb88
Refactor src/types.jl
yeesian 91a6af5
annotate function signatures with return types
yeesian 1175f14
[Breaking] copywholeraster -> copywholeraster!
yeesian 1411c79
annotate with return types
yeesian cc82bf3
[Breaking] Deprecate serializeJSON
yeesian 0a6755d
[Breaking] _dataset_type -> pixeltype
yeesian 8e7c37d
Annotate with return types
yeesian f96f2c2
Fix the implementation of src/tables.jl
yeesian cea217f
Annotate with return types
yeesian 7a785d4
tighten the return type
yeesian 62ccf75
white spacing
yeesian ec757bf
use isnothing()
yeesian d5c1512
whitespacing
yeesian cf950a2
Array -> Vector
yeesian 2811f95
Introduce enums for WKBByteOrder
yeesian fca9536
remove pointer definitions in constants.jl
yeesian cb4a13a
[Breaking] Provide proper support for all GDAL enums
yeesian 2e4cecc
improve test coverage for drivers
yeesian b782646
Remove unnecessary imports of GDAL in the tests
yeesian cd4ac78
Add tests for geotransforms
yeesian 1758d84
whitespacing
yeesian eca39b5
[Breaking] Update implementation of GeoInterface.coordinates()
yeesian 126ced0
LinearRings have the strange property of being treated like linestrings
yeesian 2e168dd
Implement a basetype() method
yeesian d1d8156
Remove nextnamedtuple() from tables.jl
yeesian 3dc7eb7
Add tests for tables.jl
yeesian b13e5db
Add tests for rasterio!(...)
yeesian 26cd97a
Add tests for raster/array.jl
yeesian 63c6eb4
[Breaking] Remove untested method for addfielddefn()
yeesian 987fe10
Add tests for displays of different objects
yeesian 1d0b365
Add test for unsafe_getgeom(feature)
yeesian a4eb87e
Improve test coverage for raster/array.jl
yeesian 4446f22
add tests for tables.jl
yeesian f93587d
add prefix
yeesian 83bec76
Remove obsolete function
yeesian 340d431
Add support for displaying color tables
yeesian d557d0a
got missed in the previous commit
yeesian c8aaeb8
Delete obsolete function
yeesian 8b499d6
Whitespacing
yeesian 8c720e7
Add test for reproject in the case of a no-op
yeesian 3221556
Add test for copywholeraster!
yeesian d19f53e
Add test for unsafe_getgeom(feature, name)
yeesian e73d91c
Add test for unsafe_copy(layer)
yeesian 9765462
Add tests for cloning null geometries
yeesian f5ee120
Update the documentation for working with the tables interface
yeesian 37ad420
Update API reference for geotransfromations
yeesian c840bb2
Add README for building the documentation
yeesian f0ecc60
Merge branch 'master' into type-error-messages
yeesian d7a67df
Fix command for activating the environment
yeesian dfe9652
Update macro name to reflect its usage and provide a docstring
yeesian f9e028c
Add support for images
yeesian d3c3ad2
Add the return keyword
yeesian 1f74057
Add support for YCbCr
yeesian 979bc60
[Breaking] Delete unneeded ColorTable methods
yeesian eca12eb
Add tests for uncovered methods of features
yeesian 3d00197
Add support for options in toJSON
yeesian c3f7d55
Increase test coverage for NULL geometries
yeesian b75d0d4
Add support for kwargs in lineargeom
yeesian 7871cff
[Breaking] Remove initialize!(stylemanager, feature)
yeesian 21e4772
Use summarize(io, rasterband) for NULL bands
yeesian 513a98e
remove obsolete comment
yeesian 2dbd579
Update README.md
yeesian 2aee418
Add tests for raster attribute tables and color tables
yeesian 83e1024
Add tests for ColorTable <-> RAT
yeesian c5ef729
Add test for cloning raster attribute tables
yeesian 5da6c4b
Fix flakey test
yeesian 72ea24c
Add tests for conversion errors
yeesian a1339ec
Add test to exercise `macro ogrerr(code, message)`
yeesian 0b477e1
Add test to exercise `macro cplerr(code, message)`
yeesian e8e990c
Add tests for imread
yeesian 73d12f5
Add tests for axisorder when importing CRS
yeesian e4a65aa
Add tests for CRS conversion
yeesian d24e781
whitespacing
yeesian f0d1ec9
[Breaking] Remove destroy(driver)
yeesian 7023b39
Replace tabs with spaces
yeesian 5ba0075
Add tests for images
yeesian c49c4bc
Remove untested code for HSL
yeesian 3a7287a
Test for error cases
yeesian 58aa862
Add test for gray colortable
yeesian 4e2a30a
Add test cases for NULL SpatialRefs
yeesian 5cc0c9a
Add test for color relief
yeesian 1346154
Add test for conversion error
yeesian f47104f
Add test for displaying dataset with many feature layers
yeesian 221f3f0
Use format from JuliaFormatter
yeesian 4ac6184
Add github workflow for running JuliaFormatter
yeesian 582d026
Add format configurations
yeesian cc9b1a1
Add a format checker for PRs
yeesian befe918
Update the README with the style guide
yeesian 594976a
Restrict the format checker to just the src/ directory for now.
yeesian 9debf2f
Update README.md
yeesian dbef00a
tweak phrasing
yeesian 08505ee
Include Julialang in the statement of support
yeesian 405fb7f
provide a README.md for the tests
yeesian f2531ab
Fix the return type
yeesian ab775a3
fix format
yeesian d3570e0
Tweak README
yeesian 3d025fe
Add functionality and documentation for raster images
yeesian ca1ecc3
Fix file formatting
yeesian 52af364
Allow to use interactive Datasets in unsafe_gdal functions in utiliti…
felixcremer ddc62bf
Replace Pkg.PlatformEngine --> Custom download & verify
zerefwayne 86ee7ec
Move importing of Downloads and SHA to remotefiles.jl
yeesian 88a9fa5
Add contributor's guide
yeesian 130fb4e
Update for geometry type hints in Schema
yeesian ebe90bf
Ran JuliaFormatter
yeesian c3926c2
Fix tables example
yeesian 917f792
ArchGDAL.getgeomdefn -> getgeomdefn
yeesian a83a33f
add a section about the compat entries
yeesian fcaba40
add compat entries for ColorTypes and ImageCore
yeesian 72d05cc
Merge branch 'type-error-messages' of https://github.com/yeesian/Arch…
yeesian 6f79b64
Add badges
yeesian 307f0f2
rearrange badges for color
yeesian 3a0b3a8
fix for table geometry v.s. field ordering
yeesian 0ca1a7d
Add conversion for geometries to wkbUnknown
yeesian 309d598
ran JuliaFormatter
yeesian 3c94ec2
Revamp implementation of imread() to be on-par with read()
yeesian ff3d2eb
Add tests for images
yeesian 421cac0
Ran JuliaFormatter
yeesian 1234d6b
remove obsolete code
yeesian fb25d5a
Fix the description for updating compatibility
yeesian bf6be50
Removing the forecast checker from PRs
yeesian ac50e17
Re-enable test for gdal warp
yeesian b98940b
Use JuliaFormatter
yeesian 2a31683
Use links instead of URLs
yeesian 90b8646
Use `=== nothing` instead of isnothing() for performance
yeesian 4f7058c
Future-proof the url to use the latest 1.* version.
yeesian 52ed391
Use the project environment for the docs
yeesian e86beac
Format test cases that take up too much vertical whitespace
yeesian a665f34
Bugfix to write out the file before reading it.
yeesian dadfa12
Remove unnecessary `Table{T<:AbstractFeatureLayer}` type.
yeesian a20203a
Merge branch 'master' into type-error-messages
yeesian d2ae1bd
Undo replacement of empty geometry column names with "geometry".
yeesian 37cb501
Tweak wording
yeesian 4bfaa01
format file
yeesian a8f831e
fix typo and use https where possible
yeesian 5107fe5
use abstract input types and fix indentation for multiline strings
yeesian 3895551
remove conventions.md
yeesian 83b7025
Return missing rather than -1 or nothing if no matching field is found.
yeesian 7351750
Added discussion on tables interface
yeesian 9c7069c
Add discussion of enum values between base enums and cenums
yeesian abe94cd
Updating getnodatavalueband to return missing rather than nothing
yeesian e720366
Capture the discussion on colors and images
yeesian cff9913
Ran juliaformatter
yeesian d5a5885
Add docstrings for enum conversions
yeesian ab2b929
annotate return types
yeesian 38cbd06
Update test-specific dependencies
yeesian 17301f9
Fix doc builds
yeesian bba88d6
ignore tif files
yeesian 06b2885
Be consistent in using module names as prefixes
yeesian 1939d11
add GDAL as dependency for docs
yeesian 29c4a94
Update instructions for formatting code.
yeesian 4faa979
Add details on AbstractDataset potentially having multiple tables
yeesian 2fd5aee
Add a note about (lack of) support for spatialite
yeesian 26a8010
Add an instruction for starting julia
yeesian b53179d
Add note that tables are only for OGR features and geometries
yeesian aecd4d8
rewrite if-else to have a single return
yeesian c615a99
Update show methods to return nothing
yeesian fa7f005
run JuliaFormatter
yeesian 317272f
Add support for GPI_RGB with GCI_PaletteIndex
yeesian 174e2d6
looser ImageCore and ColorTypes deps (#207)
rafaqz 800bf2c
Switch from `missing` to `nothing`
yeesian 1b40beb
Merge branch 'type-error-messages' of https://github.com/yeesian/Arch…
yeesian 36c5969
Return `nothing` rather than `missing` when no matching field is found
yeesian eedf3d4
formatting
yeesian File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Configuration file for JuliaFormatter.jl | ||
# For more information, see: https://domluna.github.io/JuliaFormatter.jl/stable/config/ | ||
|
||
always_for_in = true | ||
always_use_return = true | ||
margin = 80 | ||
remove_extra_newlines = true | ||
short_to_long_function_def = true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
name: format-check | ||
on: | ||
push: | ||
branches: | ||
- master | ||
- release-* | ||
pull_request: | ||
types: [opened, synchronize, reopened] | ||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: julia-actions/setup-julia@latest | ||
with: | ||
version: '1' | ||
- uses: actions/checkout@v1 | ||
- name: Format check | ||
shell: julia --color=yes {0} | ||
run: | | ||
using Pkg | ||
# If you update the version, also update the style guide docs. | ||
Pkg.add(PackageSpec(name="JuliaFormatter", version="0.13.10")) | ||
using JuliaFormatter | ||
format("src", verbose=true) | ||
out = String(read(Cmd(`git diff`))) | ||
if isempty(out) | ||
exit(0) | ||
end | ||
@error "Some files have not been formatted !!!" | ||
write(stdout, out) | ||
exit(1) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
name: format-pr | ||
yeesian marked this conversation as resolved.
Show resolved
Hide resolved
|
||
on: | ||
schedule: | ||
- cron: '0 0 * * *' | ||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Install JuliaFormatter and format | ||
run: | | ||
julia -e 'import Pkg; Pkg.add("JuliaFormatter")' | ||
julia -e 'using JuliaFormatter; format(".")' | ||
|
||
# https://github.com/marketplace/actions/create-pull-request | ||
# https://github.com/peter-evans/create-pull-request#reference-example | ||
- name: Create Pull Request | ||
id: cpr | ||
uses: peter-evans/create-pull-request@v3 | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
commit-message: Format .jl files | ||
title: 'Automatic JuliaFormatter.jl run' | ||
branch: auto-juliaformatter-pr | ||
delete-branch: true | ||
labels: formatting, automated pr, no changelog | ||
- name: Check outputs | ||
run: | | ||
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}" | ||
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,3 +12,5 @@ test/gdalworkshop/ | |
test/ospy/ | ||
test/pyrasterio/ | ||
test/spatialite/ | ||
.DS_Store | ||
Manifest.toml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,10 +3,11 @@ | |
[![Coverage Status](https://coveralls.io/repos/github/yeesian/ArchGDAL.jl/badge.svg?branch=master)](https://coveralls.io/github/yeesian/ArchGDAL.jl?branch=master) | ||
[![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://yeesian.com/ArchGDAL.jl/stable) | ||
[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://yeesian.com/ArchGDAL.jl/dev) | ||
[![ColPrac: Contributor's Guide](https://img.shields.io/badge/ColPrac-Contributor's%20Guide-blueviolet)](https://github.com/SciML/ColPrac) | ||
|
||
[GDAL](http://gdal.org/) is a translator library for raster and vector geospatial data formats that is released under an [X/MIT](https://trac.osgeo.org/gdal/wiki/FAQGeneral#WhatlicensedoesGDALOGRuse) license by the [Open Source Geospatial Foundation](http://www.osgeo.org/). As a library, it presents an abstract data model to drivers for various [raster](http://www.gdal.org/formats_list.html) and [vector](http://www.gdal.org/ogr_formats.html) formats. | ||
|
||
This package aims to be a complete solution for working with GDAL in Julia, similar in scope to [the SWIG bindings for Python](https://pypi.python.org/pypi/GDAL/). It builds on top of [GDAL.jl](https://github.com/JuliaGeo/GDAL.jl), and provides a high level API for GDAL, espousing the following principles. | ||
This package aims to be a complete solution for working with GDAL in Julia, similar in scope to [the SWIG bindings for Python](https://pypi.python.org/pypi/GDAL/) and the user-friendliness of [Fiona](https://github.com/Toblerity/Fiona) and [Rasterio](https://github.com/mapbox/rasterio). It builds on top of [GDAL.jl](https://github.com/JuliaGeo/GDAL.jl), and provides a high level API for GDAL, espousing the following principles. | ||
|
||
## Principles (The Arch Way) | ||
(adapted from: https://wiki.archlinux.org/index.php/Arch_Linux#Principles) | ||
|
@@ -29,3 +30,64 @@ To test if it is installed correctly, | |
```julia | ||
pkg> test ArchGDAL | ||
``` | ||
|
||
## Getting Involved | ||
|
||
### Community | ||
|
||
This package will not be possible without https://julialang.org/, https://github.com/OSGeo/gdal and https://github.com/JuliaGeo/GDAL.jl. They are maintained by https://julialang.org/community/, https://www.osgeo.org/ and https://juliageo.org/. In case of any contention for support and involvement, we encourage participation and contributions to those projects and communities over this package. | ||
yeesian marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
### Style Guide | ||
|
||
ArchGDAL.jl uses [JuliaFormatter.jl](https://github.com/domluna/JuliaFormatter.jl) as | ||
an autoformatting tool, and uses the options in [`.JuliaFormatter.toml`](https://github.com/yeesian/ArchGDAL.jl/blob/master/.JuliaFormatter.toml). | ||
|
||
To format code, `cd` to the ArchGDAL.jl directory, then run: | ||
```julia | ||
] add [email protected] | ||
using JuliaFormatter | ||
format("src") | ||
yeesian marked this conversation as resolved.
Show resolved
Hide resolved
|
||
``` | ||
|
||
A continuous integration check verifies that all PRs made to ArchGDAL.jl have passed the formatter. | ||
|
||
### Dependencies | ||
To manage the dependencies of this package, we work with [environments](https://pkgdocs.julialang.org/v1.6/environments/): | ||
yeesian marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
1. Navigate to the directory corresponding to the package: | ||
|
||
```julia | ||
shell> cd /Users/yeesian/.julia/dev/ArchGDAL | ||
/Users/yeesian/.julia/dev/ArchGDAL | ||
``` | ||
|
||
2. Activate the environment corresponding to `Project.toml`): | ||
yeesian marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
```julia | ||
(@v1.6) pkg> activate . | ||
Activating environment at `~/.julia/environments/v1.6/Project.toml` | ||
``` | ||
|
||
3. Manage the dependencies using Pkg in https://pkgdocs.julialang.org/v1.6/managing-packages/, e.g. | ||
|
||
```julia | ||
(ArchGDAL) pkg> st | ||
Project ArchGDAL v0.6.0 | ||
Status `~/.julia/dev/ArchGDAL/Project.toml` | ||
[3c3547ce] DiskArrays | ||
[add2ef01] GDAL | ||
[68eda718] GeoFormatTypes | ||
[cf35fbd7] GeoInterface | ||
[bd369af6] Tables | ||
[ade2ca70] Dates | ||
|
||
(ArchGDAL) pkg> add CEnum | ||
Resolving package versions... | ||
Updating `~/.julia/dev/ArchGDAL/Project.toml` | ||
[fa961155] + CEnum v0.4.1 | ||
[3c3547ce] + DiskArrays v0.2.7 | ||
[add2ef01] + GDAL v1.2.1 | ||
[68eda718] + GeoFormatTypes v0.3.0 | ||
[cf35fbd7] + GeoInterface v0.5.5 | ||
[bd369af6] + Tables v1.4.2 | ||
``` | ||
yeesian marked this conversation as resolved.
Show resolved
Hide resolved
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# ArchGDAL.jl documentation | ||
|
||
The latest stable version of the documentation can be viewed at https://yeesian.com/ArchGDAL.jl/stable/. To build a local version of the documentation, navigate to this directory and run the following command: | ||
|
||
```shell | ||
$ julia make.jl | ||
yeesian marked this conversation as resolved.
Show resolved
Hide resolved
|
||
``` | ||
|
||
It should create files in a subdirectory named `build/`. If it builds successfully, you should be able to preview the documentation in a browser by opening `build/index.html` in a browser. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
# Images | ||
|
||
```@setup rasters | ||
using ArchGDAL | ||
const AG = ArchGDAL | ||
``` | ||
|
||
In this section, we revisit the [`gdalworkshop/world.tif`](https://github.com/yeesian/ArchGDALDatasets/blob/307f8f0e584a39a050c042849004e6a2bd674f99/gdalworkshop/world.tif) dataset. | ||
```@example rasters | ||
dataset = AG.read("gdalworkshop/world.tif") | ||
``` | ||
A description of the display is available in [Raster Datasets](@ref). | ||
|
||
## Reading from Datasets | ||
We can construct an image from it in the following way: | ||
```@example rasters | ||
AG.imread(dataset) | ||
``` | ||
|
||
## Reading from Files | ||
We can read the file as an image instead: | ||
```@example rasters | ||
AG.imread("gdalworkshop/world.tif") | ||
``` | ||
|
||
## Reading from Rasterbands | ||
We can also read from individual raster bands: | ||
```@example rasters | ||
AG.imread(AG.getband(dataset, 1)) | ||
``` | ||
Or equivalently, | ||
```@example rasters | ||
AG.imread(dataset, 1) | ||
``` | ||
It will interpret the color channel (for RGB) correctly there is one. E.g. | ||
yeesian marked this conversation as resolved.
Show resolved
Hide resolved
|
||
```@example rasters | ||
AG.imread(dataset, 2) | ||
``` | ||
and | ||
```@example rasters | ||
AG.imread(dataset, 3) | ||
``` | ||
|
||
## Working with Colors | ||
Operations on colors behave as you think they might: | ||
```@example rasters | ||
AG.imread(dataset, 2) + AG.imread(dataset, 3) | ||
``` | ||
and | ||
```@example rasters | ||
0.5 * AG.imread(dataset, 1) + AG.imread(dataset, 3) | ||
``` | ||
See [Colors.jl](http://juliagraphics.github.io/Colors.jl/stable/) for more on what you can do. | ||
yeesian marked this conversation as resolved.
Show resolved
Hide resolved
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I hope we can someday put all these config things into the Project.toml, would clean up nicely.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah that'll be nice :)