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

basilisp-lang / basilisp / 12468900253
99%

Build:
DEFAULT BRANCH: main
Ran 23 Dec 2024 03:24PM UTC
Jobs 1
Files 45
Run time 1min
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

23 Dec 2024 03:10PM UTC coverage: 98.68% (-0.06%) from 98.738%
12468900253

push

github

web-flow
Switch Python import machinery to focus primarily on Python modules (#1176)

Fixes #1165 and #1155

This PR changes the Python `importlib` machinery for Basilisp to simply
focus on importing modules, without getting itself too mixed up in the
business of figuring out what a namespace is actually _called_ from the
module name. When `importlib.import_module` is called, Basilisp just
figures out the location of the module on disk and starts loading it up
as if it were a Basilisp module. It sets the newly introduced
`basilisp.core/*import-module*` dynamic Var to the value of the
importing module and lets the Basilisp runtime fetch that value down and
attach it to a new namespace if and when it is appropriate to do so.

There may be some unintended side effects here for strange cases, so
noting those here for now:
* If multiple namespaces are created within a single invocation of
`import.import_lib` (excluding recursive calls for other imports or
requires), a module could be attached to multiple namespaces. I'm not
sure if that's actually an issue, but it's certainly bizarre and could
lead to some unintended consequences. That being said, I don't really
think it is a priority for the project to support this style of bizarre
metaprogramming, so that may be fine.
* Namespace names and module names aren't necessarily "linked" anymore,
although they never were linked directly before due to the required
munging of module names for Python code.
 * Others?

1031 of 1040 branches covered (99.13%)

Branch coverage included in aggregate %.

60 of 61 new or added lines in 5 files covered. (98.36%)

5 existing lines in 1 file now uncovered.

8837 of 8960 relevant lines covered (98.63%)

0.99 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
95.06
-2.84% src/basilisp/contrib/pytest/testrunner.py

Uncovered Existing Lines

Lines Coverage ∆ File
5
95.06
-2.84% src/basilisp/contrib/pytest/testrunner.py
Jobs
ID Job ID Ran Files Coverage
1 12468900253.1 23 Dec 2024 03:24PM UTC 45
98.68
GitHub Action Run
Source Files on build 12468900253
  • Tree
  • List 45
  • Changed 5
  • Source Changed 5
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #12468900253
  • 54b340a9 on github
  • Prev Build on main (#12468009429)
  • Next Build on main (#12469391894)
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

© 2026 Coveralls, Inc