Skip to main content

Ensures generated code does no more than your spec demands.

Project description

specfence

A proof-of-concept implementation of Specification Fencing (essay coming soon).

Demo

example/fizzbuzz.py contains a simple implementation of FizzBuzz, but with scattered print and logging statements that do not change any observed behavior as defined by example/fizzbuzz_test.py. Running specfence on this file identifies these lines as specification fencing violations, and suggests deleting them.

$ uvx specfence example/fizzbuzz.py example/fizzbuzz_test.py
 8| print("FizzBuzz!")
11| logger.info("Divisible by 3")
14| logger.info("Divisible by 5")
17| print("Returning number")

4 specification fencing violations found. Delete these lines as they do not change any observed behavior.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

specfence-0.0.16.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

specfence-0.0.16-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file specfence-0.0.16.tar.gz.

File metadata

  • Download URL: specfence-0.0.16.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for specfence-0.0.16.tar.gz
Algorithm Hash digest
SHA256 d9cf869d444a3aabb9e1b04b07670bfda2909e4bd0d589f5464c4763f4b117ee
MD5 080be8cbedaa3bfd5b8f1c4c266b4a6a
BLAKE2b-256 b2cdf8b662558d06444f65739b9197d2c4b776613816a8e4ca499dfc827952a6

See more details on using hashes here.

File details

Details for the file specfence-0.0.16-py3-none-any.whl.

File metadata

  • Download URL: specfence-0.0.16-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for specfence-0.0.16-py3-none-any.whl
Algorithm Hash digest
SHA256 c11cc55ba47ed979dbc3cb5c1741e15f1518cbe3345090daf817e9695eaa72c6
MD5 afffec49677ebc6cd1edc4341b2dd701
BLAKE2b-256 c138cb17327128c2073207ec1d6074e0ea5f02778adf9d16fe8194e5f2c4abf0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page