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

Uploaded Python 3

File details

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

File metadata

  • Download URL: specfence-0.0.18.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.18.tar.gz
Algorithm Hash digest
SHA256 8af40e787a32b1798ef5955a56d07a580673eb6766cb3ffaf75f87c13535460e
MD5 0187cdc1d275db5e6f522cc9ec4919af
BLAKE2b-256 f2259d90e204e7348531f8d748ea6d9cc94295c7c8b7d634652569a13c51a1ce

See more details on using hashes here.

File details

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

File metadata

  • Download URL: specfence-0.0.18-py3-none-any.whl
  • Upload date:
  • Size: 8.1 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.18-py3-none-any.whl
Algorithm Hash digest
SHA256 1c64ac818d53b2b0ac75504992c09cff29a57b293c561d097bddc49d6afd0172
MD5 80b0cb5d17794defd993cb3666dd56c1
BLAKE2b-256 b8b35eb5a324499610afd6d42decfc2d6421300e8deadeaae25224218810db44

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