SIP(1)

🌸 SIP(1) β€” the bindings generator, bestie edition 🌸

ok so this is sip from the General Commands Manual section 1, and she's here to turn your spec files into C++/Python bindings. iykyk. πŸ’…

✨ NAME ✨

sip β€” generates C++/Python bindings 🐍πŸ”₯


πŸŽ€ SYNOPSIS πŸŽ€

sip [-h] [-V] [-a file] [-b file] [-B tag] [-c dir] [-d file] [-D] [-e]
[-f] [-g] [-I dir] [-j number] [-k] [-m file] [-n name] [-o] [-p module]
[-P] [-r] [-s suffix] [-t tag] [-w] [-x feature] [-X id:file] [-y file]
[-z file] [@file] [file]

πŸ¦‹ DESCRIPTION πŸ¦‹

so basically sip takes a set of specification files and generates C++ code, documentation and build files. that's her whole job. she's booked and busy ✨

the format of the needed specification file is similar to a C++ header. and sip includes run-time support for the generated code. no cap.


πŸ’– OPTIONS πŸ’–

  • -h β€” show a lil summary of all the options. your cheat sheet fr.
  • -V β€” display the sip version number. vibe check on which sip you're running.
  • -a file β€” the name of the QScintilla API file. if you don't indicate it, it will not be generated. sad but true.
  • -b file β€” the name of the build file. if you don't indicate it, it will not be generated.
  • -B tag β€” add tag to the list of timeline backstops. > ⚠️ deprecated, bestie β€” it's giving legacy energy.
  • -c dir β€” the name of the directory where the generated source file will be put. if you don't indicate it, no code will be generated. so like… use it. πŸ™ˆ
  • -d file β€” the name of the documentation file. if you don't indicate it, no documentation will be generated. > ⚠️ also deprecated. the elders have spoken.
  • -D β€” generate code for a debug build of Python. for the debugging girlies 🫢
  • -e β€” enable support for exceptions. disabled by default, so it's giving opt-in only.
  • -f β€” handle warnings as errors. harsh but iconic πŸ’€
  • -g β€” always release and reacquire the GIL. main character threading behavior.
  • -I dir β€” directory where sip can search for included files. her little treasure map πŸ—ΊοΈ
  • -j number β€” splits the generated code into number files (1 by default). this flag was added for parallel compilation on SMP machines. so yes, she's doing the most, on purpose πŸ”₯
  • -k β€” support keyword arguments in functions and methods. kwarg girlies rise 🌈
  • -m file β€” the name of the XML export file. if you don't indicate it, the file will not be generated.
  • -n name β€” the qualified name of the private copy of the sip module. very demure, very private ✨
  • -o β€” enable the automatic generation of docstrings. disabled by default β€” flip that switch, bestie.
  • -p module β€” give the name of the consolidated module this module should be a component of. she's in her group-project era πŸ‘‘
  • -P β€” enable the protected/public hack. yes it's called a hack. we don't question the hack. πŸ’…
  • -r β€” enable tracing on generated code. she's nosy and we love that.
  • -s suffix β€” the suffix used for generated C or C++ files (".c" or ".cpp" if none specified).
  • -t tag β€” the version/platform to generate code for. pick your target, babe 🎯
  • -w β€” enable warning messages. let her talk.
  • -x feature β€” disable a feature. not everything deserves to make the cut 🚫
  • -X id:file β€” create the extracts for an id in a file.
  • -y file β€” the name of the .pyi stub file to generate. if you don't indicate it, it will not be generated. type-hint besties, this one's for you 🧚
  • -z file β€” the name of a file containing additional command line flags. > ⚠️ this option is deprecated, use @file instead. old news, move on, we're doing @file now.
  • @ file β€” the name of a file containing more command line flags. the modern way to do the -z thing πŸ’–
  • file β€” the name of the file containing the specification. if you skip it, sip will expect to be fed by stdin. so like, she'll just sit there waiting for you to say something 😭 don't leave her hanging.

πŸ’œ AUTHOR πŸ’œ

this manual page was written by Ricardo Javier Cardenes Medina <rcardenes@debian.org>, Torsten Marek <shlomme@debian.org> and Dmitry Shachnev <mitya57@debian.org>, for the Debian project (but may be used by others). legends, honestly πŸ‘‘


ok that's the whole page, you ate that πŸ’…βœ¨ go generate some bindings bestie, and remember: every flag above is real, every default is real, and every deprecation is real. periodt.

sign-off time πŸŽ€ β€” this is SIP(1), dated 2019-10-15, and it lives in the General Commands Manual section. mwah πŸ’–

πŸ“¦ where this page comes from