Changelog#
Version 0.5.0#
Released on: 2026/09/11
doi: https://doi.org/10.5281/zenodo.22712877
Bug fixes:
Fix sanity check in
rolling_windowfor thewindow_sizeparameter in higher dimensions (#110)
New features:
Add function
block_split_sphericalto split points into equal area blocks on the sphere (#132)Add function
get_spacingto extract spacing information from coordinates, assuming that they are from a regular grid (#144)Add function
rotate_coordinatesto rotate coordinates in 2D space around a given point (#128)Add function
rescale_coordinatesto translate and stretch coordinates to a new region (#108)
Documentation
Add a logo for Bordado (#81)
Add a tutorial for Bordado (#80)
Add a How To about calculating neighbor distances (#158)
Fix printing wrong variable in the line coordinates tutorial (#157)
Add a How To about calculating rolling averages (#147)
Fix docstring typos in the
get_spacingfunction (#145)Add a How To about rescaling coordinates to different region (#143)
Add a How To about calculating block averages on scattered data (#142)
Add plots to the line_coordinates tutorial to make it clearer (#141)
Add link to the NOAA grid registration page in our Tutorial (#136)
Replace NEP29 link with SPEC 0 in compatibility docs (#114)
Add a link to the How To page at the end of the tutorial (#113)
Add a 3D plot for multidimensional grids in the tutorial (#112)
Add a How To about selecting points inside a region (#111)
Add a How To about padding a region (#105)
Gather pages from tutorial and how to in the docs table of contents (#103)
Make a How To guide about getting the region of coordinates (#98)
Add link to the AUTHORS file in the docs navigation (#86)
Fix typo in Install page (#85)
General improvements to install and version compatibility pages (#84)
Add link to citation page in the README (#82)
Maintenance:
Add testing and support for Python 3.14 (#89)
Pin the version of our code linters and formatters and use Dependabot for updates (#120, #127, #124, #123, #122, #121)
Revise Actions workflows to only run when necessary, saving resources and time (#119)
Don’t use version number pinning in Actions even for official ones, use hashes instead (#118)
Fix deprecation warnings in push to PyPI GitHub Action (#117)
Fix missing write permission in publish Actions workflow (#116)
Fix cache poisoning vulnerability in GitHub Actions (#115)
Fetch Ensaio data from GitHub when building the docs (#106)
Update development status to beta (ready for use but in dev) (#102)
Fix license specification in pyproject.toml (#88)
Fix broken clean target in the Makefile (#87)
Remove the top-level CITATION file (#83)
This release contains contributions from:
Sai Asish Y
Arthur Siqueira-Macedo
Santiago Soler
Matt Tankersley
Leonardo Uieda
Version 0.4.0#
Released on: 2025/08/14
doi: https://doi.org/10.5281/zenodo.16874959
Bug fixes:
Fix bug in
spacing_to_sizewhenstart == stop. We’d expect that the size returned would be 1 (a single point) but it was returning 2 instead because of a fix to another bug. (#62)
New functions:
Add function
random_coordinates_sphericalto generate random points on a sphere following a uniform distribution. Using the regularrandom_coordinatesleads to larger concentration of points at the poles. (#59)Add function
rolling_window_sphericalto generate rolling windows of roughly equal area on a sphere. It accounts for the convergence of longitude lines by increasing the longitudinal size of windows when needed and is able to wrap windows around the 360-0 longitude divide. (#58)
Documentation:
Fix description of step in rolling window docs (#57)
This release contains contributions from:
Leonardo Uieda
Version 0.3.0#
Released on: 2025/05/15
doi: https://doi.org/10.5281/zenodo.15427887
Breaking changes:
Remove validation functions
check_coordinates,check_region, andcheck_shapefrom the public API because they will tend to be specific to individual projects, causing compatibility problems for us when our requirements change (#49)
New functions:
Add function
great_circle_coordinatesto make points at regular distances along a great circle on a sphere (#50)Add and expand to n-dimenions the function
profile_coordinatesfrom Verde to generate evenly spaced points between two reference points points (#48)Add function
neighbor_distance_statisticsto calculate statistics of the distances to nearest neighbors of points. This is a generalization of the functionmedian_distancefrom Verde (#46)Add and expand function
shape_to_spacingfrom Verde to convert a shape (numbers of points) to spacings (#44)Make function
spacing_to_sizepublic in the API instead of private (#43)
Improvements:
Add check for invalid size argument in
line_coordinates(#47)
Documentation:
Add an Overview page to the documentation that covers basic functionality and explains a bit about what the package does (#51)
Maintenance:
Specify coverage source in
pyproject.toml(#42)
This release contains contributions from:
Leonardo Uieda
Version 0.2.0#
Released on: 2025/05/08
doi: https://doi.org/10.5281/zenodo.15360679
Breaking changes:
Rename the
rngargument ofbordado.random_coordinatestorandom_seed, which is more explicit and won’t be confused with “range” (#34)
New functions ported from Verde and improved:
New function
bordado.expanding_windowto split points with n dimensions on windows that share a common center but expand in size (#37)
Enhancements:
Make sure
bordado.get_regionworks with pandas and xarray inputs (#36)
Maintenance:
Pin third-party Actions using commit hashes instead of tags for security (#39)
This release contains contributions from:
Santiago Soler
Leonardo Uieda
Version 0.1.0#
Released on: 2025/03/28
doi: https://doi.org/10.5281/zenodo.15102594
The functions below are originally from the Verde library and have been moved here and improved upon:
Add function
rolling_windowto split points into rolling windows (#31)Add function
block_splitto split points into blocks (#30)Add function
grid_coordinatesto generate n-dimensional grids with evenly spaced points (#18)Add function
random_coordinatesto make a random scatter of points in n-dimensions (#25 and #26)Add function
insideto check which points are in a region (#24)Add function
get_regionto get the bounding box of the given set of coordinates (#16)Add function
pad_regionto expand a region by a specified amount (#15)Add function
line_coordinatesto generate 1D evenly-spaced coordinates (#13)
Improvements over their Verde counterparts:
All functions now work with more than 2 dimensions.
Argument names have been changed to make them more reasonable, for example
spacinginblock_splitwas renamed toblock_size.Functions perform more sanity checks on their arguments to avoid common mistakes.
When adjusting a region because the spacing is not a multiple of it, change both the lower and the upper boundaries to spread the change more evenly (#21)
Optional arguments to functions are now keyword-only, avoiding the common mistake of passing a spacing in the place of a shape when not using keywords (#20)
Bordado also exposes some sanity checks that other packages can use:
Add function
check_coordinatesto check that all coordinates have same shape and make sure they are arrays (#29)Add function
check_regionto make sure the region has an even number of arguments and they are in the right order (#12 and #14)
This release contains contributions from:
Leonardo Uieda
Version 0.0.1#
Released on: 2025/03/19
doi: https://doi.org/10.5281/zenodo.15051756
This is the first release of Bordado, used to guarantee the package name and setup the development infrastructure. The next release will contain actual code for users.
This release contains contributions from:
Leonardo Uieda