• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ladybug-tools / ladybug-geometry
96%
master: 93%

Build:
Build:
LAST BUILD BRANCH: dependabot/pip/setuptools-57.0.0
DEFAULT BRANCH: master
Repo Added 21 Mar 2019 01:59PM UTC
Files 34
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH v1.9.0
branch: v1.9.0
CHANGE BRANCH
x
Reset
  • v1.9.0
  • dependabot/add-v2-config-file
  • dependabot/pip/coverage-5.1
  • dependabot/pip/coverage-5.2
  • dependabot/pip/coverage-5.2.1
  • dependabot/pip/coverage-5.3
  • dependabot/pip/coverage-5.3.1
  • dependabot/pip/coverage-5.4
  • dependabot/pip/coverage-5.5
  • dependabot/pip/coveralls-2.1.0
  • dependabot/pip/coveralls-2.1.1
  • dependabot/pip/coveralls-2.1.2
  • dependabot/pip/coveralls-2.2.0
  • dependabot/pip/importlib-metadata-3.0.0
  • dependabot/pip/importlib-metadata-3.1.0
  • dependabot/pip/importlib-metadata-3.10.0
  • dependabot/pip/importlib-metadata-3.10.1
  • dependabot/pip/importlib-metadata-3.2.0
  • dependabot/pip/importlib-metadata-3.3.0
  • dependabot/pip/importlib-metadata-3.4.0
  • dependabot/pip/importlib-metadata-3.5.0
  • dependabot/pip/importlib-metadata-3.6.0
  • dependabot/pip/importlib-metadata-3.7.0
  • dependabot/pip/importlib-metadata-3.7.2
  • dependabot/pip/importlib-metadata-3.7.3
  • dependabot/pip/importlib-metadata-3.8.0
  • dependabot/pip/importlib-metadata-3.8.1
  • dependabot/pip/importlib-metadata-3.9.0
  • dependabot/pip/importlib-metadata-3.9.1
  • dependabot/pip/importlib-metadata-4.0.0
  • dependabot/pip/importlib-metadata-4.0.1
  • dependabot/pip/pytest-5.4.1
  • dependabot/pip/pytest-5.4.2
  • dependabot/pip/pytest-5.4.3
  • dependabot/pip/pytest-6.0.0
  • dependabot/pip/pytest-6.0.1
  • dependabot/pip/pytest-6.0.2
  • dependabot/pip/pytest-6.1.0
  • dependabot/pip/pytest-6.1.1
  • dependabot/pip/pytest-6.1.2
  • dependabot/pip/pytest-6.2.0
  • dependabot/pip/pytest-6.2.1
  • dependabot/pip/pytest-6.2.2
  • dependabot/pip/pytest-6.2.3
  • dependabot/pip/pytest-6.2.4
  • dependabot/pip/pytest-cov-2.10.0
  • dependabot/pip/pytest-cov-2.10.1
  • dependabot/pip/pytest-cov-2.11.0
  • dependabot/pip/pytest-cov-2.11.1
  • dependabot/pip/pytest-cov-2.12.0
  • dependabot/pip/pytest-cov-2.8.1
  • dependabot/pip/pytest-cov-2.9.0
  • dependabot/pip/setuptools-46.2.0
  • dependabot/pip/setuptools-46.3.0
  • dependabot/pip/setuptools-46.3.1
  • dependabot/pip/setuptools-46.4.0
  • dependabot/pip/setuptools-47.0.0
  • dependabot/pip/setuptools-47.1.0
  • dependabot/pip/setuptools-47.1.1
  • dependabot/pip/setuptools-47.2.0
  • dependabot/pip/setuptools-47.3.0
  • dependabot/pip/setuptools-47.3.1
  • dependabot/pip/setuptools-47.3.2
  • dependabot/pip/setuptools-48.0.0
  • dependabot/pip/setuptools-49.0.0
  • dependabot/pip/setuptools-49.1.0
  • dependabot/pip/setuptools-49.1.1
  • dependabot/pip/setuptools-49.1.2
  • dependabot/pip/setuptools-49.1.3
  • dependabot/pip/setuptools-49.2.0
  • dependabot/pip/setuptools-49.2.1
  • dependabot/pip/setuptools-49.3.0
  • dependabot/pip/setuptools-49.3.1
  • dependabot/pip/setuptools-49.3.2
  • dependabot/pip/setuptools-49.4.0
  • dependabot/pip/setuptools-49.5.0
  • dependabot/pip/setuptools-49.6.0
  • dependabot/pip/setuptools-50.0.0
  • dependabot/pip/setuptools-50.0.1
  • dependabot/pip/setuptools-50.0.2
  • dependabot/pip/setuptools-50.0.3
  • dependabot/pip/setuptools-50.1.0
  • dependabot/pip/setuptools-50.2.0
  • dependabot/pip/setuptools-50.3.0
  • dependabot/pip/setuptools-50.3.1
  • dependabot/pip/setuptools-50.3.2
  • dependabot/pip/setuptools-51.0.0
  • dependabot/pip/setuptools-51.1.0.post20201221
  • dependabot/pip/setuptools-51.1.1
  • dependabot/pip/setuptools-51.1.2
  • dependabot/pip/setuptools-51.2.0
  • dependabot/pip/setuptools-51.3.0
  • dependabot/pip/setuptools-51.3.1
  • dependabot/pip/setuptools-51.3.2
  • dependabot/pip/setuptools-51.3.3
  • dependabot/pip/setuptools-52.0.0
  • dependabot/pip/setuptools-53.0.0
  • dependabot/pip/setuptools-53.1.0
  • dependabot/pip/setuptools-54.0.0
  • dependabot/pip/setuptools-54.1.0
  • dependabot/pip/setuptools-54.1.1
  • dependabot/pip/setuptools-54.1.2
  • dependabot/pip/setuptools-54.1.3
  • dependabot/pip/setuptools-54.2.0
  • dependabot/pip/setuptools-56.0.0
  • dependabot/pip/setuptools-56.1.0
  • dependabot/pip/setuptools-56.2.0
  • dependabot/pip/setuptools-57.0.0
  • dependabot/pip/sphinx-3.0.0
  • dependabot/pip/sphinx-3.0.1
  • dependabot/pip/sphinx-3.0.2
  • dependabot/pip/sphinx-3.0.3
  • dependabot/pip/sphinx-3.1.0
  • dependabot/pip/sphinx-3.1.1
  • dependabot/pip/sphinx-3.1.2
  • dependabot/pip/sphinx-3.2.0
  • dependabot/pip/sphinx-3.2.1
  • dependabot/pip/sphinx-3.3.0
  • dependabot/pip/sphinx-3.3.1
  • dependabot/pip/sphinx-3.4.0
  • dependabot/pip/sphinx-3.4.1
  • dependabot/pip/sphinx-3.4.2
  • dependabot/pip/sphinx-3.4.3
  • dependabot/pip/sphinx-3.5.0
  • dependabot/pip/sphinx-3.5.1
  • dependabot/pip/sphinx-3.5.2
  • dependabot/pip/sphinx-3.5.3
  • dependabot/pip/sphinx-3.5.4
  • dependabot/pip/sphinx-4.0.0
  • dependabot/pip/sphinx-4.0.1
  • dependabot/pip/sphinx-bootstrap-theme-0.7.1
  • dependabot/pip/sphinxcontrib-websupport-1.2.1
  • dependabot/pip/sphinxcontrib-websupport-1.2.2
  • dependabot/pip/sphinxcontrib-websupport-1.2.3
  • dependabot/pip/sphinxcontrib-websupport-1.2.4
  • dependabot/pip/twine-3.1.1
  • dependabot/pip/twine-3.2.0
  • dependabot/pip/twine-3.3.0
  • dependabot/pip/twine-3.4.0
  • dependabot/pip/twine-3.4.1
  • dependabot/pip/wheel-0.35.0
  • dependabot/pip/wheel-0.35.1
  • dependabot/pip/wheel-0.36.0
  • dependabot/pip/wheel-0.36.1
  • dependabot/pip/wheel-0.36.2
  • development
  • master
  • v1.0.0
  • v1.1.0
  • v1.10.0
  • v1.11.0
  • v1.12.0
  • v1.13.0
  • v1.14.0
  • v1.14.1
  • v1.15.0
  • v1.16.0
  • v1.17.0
  • v1.17.1
  • v1.18.0
  • v1.18.1
  • v1.18.2
  • v1.18.3
  • v1.18.4
  • v1.19.0
  • v1.2.0
  • v1.2.1
  • v1.20.0
  • v1.20.1
  • v1.20.2
  • v1.20.3
  • v1.21.0
  • v1.21.1
  • v1.22.0
  • v1.22.1
  • v1.22.2
  • v1.22.3
  • v1.22.4
  • v1.22.5
  • v1.22.6
  • v1.22.7
  • v1.22.8
  • v1.22.9
  • v1.3.0
  • v1.4.0
  • v1.5.0
  • v1.5.1
  • v1.5.2
  • v1.6.0
  • v1.6.1
  • v1.6.2
  • v1.6.3
  • v1.7.0
  • v1.7.1
  • v1.7.10
  • v1.7.11
  • v1.7.2
  • v1.7.3
  • v1.7.4
  • v1.7.5
  • v1.7.6
  • v1.7.7
  • v1.7.8
  • v1.7.9
  • v1.8.0
  • v1.8.1

pending completion
259

push

travis-ci

Chris Mackey
feat(hash): Add __hash__ methods that agree with __eq__ to all objects

I realized that we were overwriting the __eq__ method on a number of objects without overwriting the __hash__ method, which I have come to realize is strongly discouraged in Python. So this commit fixes this by adding hash methods that agree with the __eq__ operator.  This should also allow us to create sets of these geometry objects if we so desire.

The only thing I didn't implement that _might_ be worthwhile to implement in the future is that I am not caching the hash value once it is calculated, which is something that we could do given that all of the geometry objects are immutable. This will allow for quicker hashing if we plan to hash the object multiple times but it also uses up a little more memory per object to store the hash. Right now, we really don't end up hashing the object multiple times in any of our typical workflows such that I think the trade-off isn't worth it. However, we should reconsider this if we find cases in the future where we are hashing the objects multiple times.

334 of 334 new or added lines in 35 files covered. (100.0%)

8314 of 8621 relevant lines covered (96.44%)

1.93 hits per line

Relevant lines Covered
Build:
Build:
8621 RELEVANT LINES 8314 COVERED LINES
1.93 HITS PER LINE
Source Files on v1.9.0
  • List 0
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
259 v1.9.0 feat(hash): Add __hash__ methods that agree with __eq__ to all objects I realized that we were overwriting the __eq__ method on a number of objects without overwriting the __hash__ method, which I have come to realize is strongly discouraged in P... push 18 Jan 2020 08:10PM UTC Chris Mackey travis-ci pending completion  
See All Builds (875)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc