PBN is a command line tool for working with Portable Bridge Notation (.pbn) files.
Some of the supported features include:
- parse a file and validate it
- printing overview information about a file
- stripping a file of unnecessary parts
- add analysis to a file
If bridge is to stay, a lot of new software will be created, it will be necessary.
So far, there is little standardization, most software is proprietary, paid, closed-source.
This is the first step in making bridge open source tooling, so that noone has to reinvent the wheel. This package is very far apart from being perfect or even good, but I hope it will evolve in time to be - good, reliable, adhering to standards, community-driven.
My vision for open source bridge:
- pbn tool (this repository)
- tournament representation, results, including tools build on BridgeMate standard interface (MS Access) and beyond
- (epic and far) open source tournament directing
Join me, make bridge programs great and free!
- exports to pdf, html
- stricter adherence to PBN standard (currently it is not fully compliant)
- validate
- support more obscure import variant
- check used features against declared version
- pbn generation using external tools (e.g. Bigdeal)
User manual can be found in guide.md.
Use --help flag to see the options.
PBN is written in .NET Core 7 and C#.
To build on Windows x86, you can use the provided prebuild dds.dll file.
dotnet buildOtherwise, you need to compile dds from sources. Luckily, this project provides a CMake build script to make it simple for you.
mkdir build
cd build
cmake ..
make DotnetPublishThe executable will be in the publish directory.
Should you run into any issues, good luck in CMake hell.
This project uses docfx to create documentation. You need to have it installed to build the docs.
To build the documentation, run
docfx docs/docfx.jsonDocumentation will be generated in the docs/_site directory.
If you want to serve the documentation locally, run
docfx docs/docfx.json --serveTo run the tests, run
dotnet testThis project is licensed under the MIT License - see the LICENSE file for details.
This project uses the dds library, which is licensed under the Apache License 2.0. For more details, see the LICENSE-APACHE file included in this repository.
For modifications to the dds library, see my dds fork repository.