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.11.tar.gz (6.4 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.11-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: specfence-0.0.11.tar.gz
  • Upload date:
  • Size: 6.4 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.11.tar.gz
Algorithm Hash digest
SHA256 820984e2b594c749cd3389469e36b709d594802a84f53e548fffcb6c35449af2
MD5 0c097361a74880868921afb68c9f7d9f
BLAKE2b-256 972c38eed5bc0fd3e248d3f826749f43c023fef20d99cd8398f287940be9756e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: specfence-0.0.11-py3-none-any.whl
  • Upload date:
  • Size: 7.7 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.11-py3-none-any.whl
Algorithm Hash digest
SHA256 7fc536c73c9f093bf9e450d78cfb4c51f694a70b98e4667734015356717867e7
MD5 c4df21d34f216e003fc3e9a4d2a76d11
BLAKE2b-256 981bfb3bb245ed0e2626d9dbf8a3d000b184220f7e270571ba3180b7207052db

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