notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
Want a good monitor light? See my photos
All times are UTC
Ukraine
The recently imposed "must be logged in" restriction is a response to increased bot traffic on the site. This affects search, commits, and vuxml pages.
Search engines are not blocked. Try using "site:www.freshports.org" and your search terms.
Port details
py-flexparser Parsing made fun ... using typing
0.4 develnew! on this many watch lists=0 search for ports that depend on this port Find issues related to this port Report an issue related to this port View this port on Repology. pkg-fallout Package not present on quarterly.This port was created during this quarter. It will be in the next quarterly branch but not the current one.
Maintainer: sunpoet@FreeBSD.org search for ports maintained by this maintainer
Port Added: 2026-05-21 15:06:11
Last Update: 2026-05-21 14:45:42
Commit Hash: 01e754c
Also Listed In: python
License: BSD3CLAUSE
WWW:
https://github.com/hgrecco/flexparser
Description:
Why write another parser? I have asked myself the same question while working on this project. It is clear that there are excellent parsers out there, but I wanted to experiment with another way of writing them. The idea is quite simple. You write a class for every type of content (called here ParsedStatement) you need to parse. Each class should have a from_string constructor. We used the typing module extensively to make the output structure easy to use and less error-prone.
Homepage    cgit ¦ Codeberg ¦ GitHub ¦ GitLab ¦ SVNWeb - no subversion history for this port

Manual pages:
FreshPorts has no man page information for this port.
pkg-plist: as obtained via: make generate-plist
There is no configure plist information for this port.
USE_RC_SUBR (Service Scripts)
  • no SUBR information found for this port
Dependency lines:
  • ${PYTHON_PKGNAMEPREFIX}flexparser>0:devel/py-flexparser@${PY_FLAVOR}
To install the port:
cd /usr/ports/devel/py-flexparser/ && make install clean
To add the package, run one of these commands:
  • pkg install devel/py-flexparser
  • pkg install py311-flexparser
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.
NOTE: This is a Python port. Instead of py311-flexparser listed in the above command, you can pick from the names under the Packages section.
PKGNAME: py311-flexparser
Package flavors (<flavor>: <package>)
  • py311: py311-flexparser
distinfo:
TIMESTAMP = 1779222882 SHA256 (flexparser-0.4.tar.gz) = 266d98905595be2ccc5da964fe0a2c3526fbbffdc45b65b3146d75db992ef6b2 SIZE (flexparser-0.4.tar.gz) = 31799

Packages (timestamps in pop-ups are UTC):
py311-flexparser
ABIaarch64amd64armv6armv7i386powerpcpowerpc64powerpc64le
FreeBSD:13:latest-----n/an/an/a
FreeBSD:13:quarterly-----n/an/an/a
FreeBSD:14:latest0.40.4--0.4---
FreeBSD:14:quarterly--------
FreeBSD:15:latest0.40.4n/a-n/an/a--
FreeBSD:15:quarterly--n/a-n/an/a--
FreeBSD:16:latest-0.4n/a-n/an/a--
Dependencies
NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
Build dependencies:
  1. py311-setuptools>=61 : devel/py-setuptools@py311
  2. py311-setuptools-scm>=3.4.3 : devel/py-setuptools-scm@py311
  3. py311-wheel>=0 : devel/py-wheel@py311
  4. python3.11 : lang/python311
  5. py311-build>=0 : devel/py-build@py311
  6. py311-installer>=0 : devel/py-installer@py311
Test dependencies:
  1. python3.11 : lang/python311
Runtime dependencies:
  1. py311-typing-extensions>=0 : devel/py-typing-extensions@py311
  2. python3.11 : lang/python311
This port is required by:
for Run
  1. devel/py-datasette
  2. devel/py-pint

Configuration Options:
No options to configure
Options name:
devel_py-flexparser
USES:
python
FreshPorts was unable to extract/find any pkg message
Master Sites:
Expand this list (2 items)
Collapse this list.
  1. https://files.pythonhosted.org/packages/source/f/flexparser/
  2. https://pypi.org/packages/source/f/flexparser/
Collapse this list.

Number of commits found: 1

Commit History - (may be incomplete: for full details, see links to repositories near top of page)
CommitCreditsLog message
0.4
21 May 2026 14:45:42
commit hash: 01e754c4372dfd6ddd4aa55cd71419ec51376478commit hash: 01e754c4372dfd6ddd4aa55cd71419ec51376478commit hash: 01e754c4372dfd6ddd4aa55cd71419ec51376478commit hash: 01e754c4372dfd6ddd4aa55cd71419ec51376478 files touched by this commit
Po-Chuan Hsieh (sunpoet) search for other commits by this committer
devel/py-flexparser: Add py-flexparser 0.4

Why write another parser? I have asked myself the same question while working on
this project. It is clear that there are excellent parsers out there, but I
wanted to experiment with another way of writing them.

The idea is quite simple. You write a class for every type of content (called
here ParsedStatement) you need to parse. Each class should have a from_string
constructor. We used the typing module extensively to make the output structure
easy to use and less error-prone.

Number of commits found: 1