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.12.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.12-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: specfence-0.0.12.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.12.tar.gz
Algorithm Hash digest
SHA256 b333f8afcc7b07ebe7e4c584c519d72dbba7a8b7fcb6e9407a7da45dbe23e15b
MD5 cb081a01c236a49e123d43e3e991f335
BLAKE2b-256 d6cae4f4ffa309ac6b9121d0934af5df447a2aefc4def4c88209cd69001e7176

See more details on using hashes here.

File details

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

File metadata

  • Download URL: specfence-0.0.12-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.12-py3-none-any.whl
Algorithm Hash digest
SHA256 5420d936c49e3a631c1800b05b14f3a32b1ddbaf56e957a93c093cdd24e0fb70
MD5 d14568c518df42f113d1f5bb6c9de0df
BLAKE2b-256 7781d7bb278bb70a302f05ea98aa5157f68cdab8f8341f2dcf89e70005544f78

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