vyperlang/vyper

Improve error message for `math` namespace collision

Open

#4,579 opened on Apr 14, 2025

View on GitHub
 (1 comment) (0 reactions) (0 assignees)Python (849 forks)batch import
Easy Pickingsbug - UXhelp wanted

Repository metrics

Stars
 (4,710 stars)
PR merge metrics
 (Avg merge 10d 21h) (34 merged PRs in 30d)

Description

The following snippet will throw with

from snekmate.utils import math
import math
vyper.exceptions.NamespaceCollision: 'math' has already been declared as a ModuleInfo(module_t=venv/Lib/site-packages/snekmate/utils/math.vy, alias='math', ownership=<ModuleOwnership.NO_OWNERSHIP: 'no_ownership'>, ownership_decl=None)

  contract "test.vy:2", line 2:0
       1 from snekmate.utils import math
  ---> 2 import math
  -------^
       3

You must run it via vyper test.vy --enable-decimals.

Contributor guide