# bridgeobjects
A collection of modules that allows the user to utilise objects used in bridge games, for example, a board or a contract.
The classes form a natural hierarchy:
event
└── board
├── auction
│ └── call
│ └── denomination
├── contract
├── hand
│ └── card
│ └── suit
└── trick
(However, some classes are natural subsidiaries not represented in this classification, for example, there are four cards in a trick.)
The objects can be created using a simple, self explanatory, human readable set of definitions
by using Portable Bridge Notation (PBN) (http://www.tistis.nl/pbn/) or
Richard’s Bridge Notation (RBN) (http://www.rpbridge.net/7a12.htm).
## Installation
```bash
pip install bridgeobjects
```
# History
Version 0.1.30 0715 Apr 2024
1. Initailse hand shape
------
Version 0.1.29 07 Mar 2024
1. Rationalise modifier in contract
------
Version 0.1.28 01 Feb 2024
1. Refactor hand
2. File load pbn to handle BBO files
------
Version 0.1.27 7 Jan 2024
1. Fix calls in Auction
------
Version 0.1.26 13 Oct 2023
1. Add icecream
------
Version 0.1.25 18 Sep 2023
1. Add auction to pbn string
------
Version 0.1.24 21 Jul 2023
1. Fix tricks in parse_pbn and add sealer to pbn string on board
------
Version 0.1.23 01 Jul 2023
1. Fix pbn X and XX
------
Version 0.1.22 29 Jun 2023
1. refactor and linting
------
Version 0.1.21 11 May 2023
1. Remove Result from pbn str
------
Version 0.1.20 05 May 2023
1. Create seven_six
------
Version 0.1.19 05 Mar 2023
1. Fix vulnerability in scoring
------
Version 0.1.18 - 19 Jan 2023
1. Add VULNERABILITY to constants
------
Version 0.1.17 - 31 Dec 2022
contract.py
fix scoring bug ans refactor
add json functionality
trick.py
add json functionality
auction.py
add json functionality
_parse_pbn_string.py
support for seat_calls (not implemented)
------
Version 0.1.16 - 24 Nov 2022
change output format of create_pbn_board
fix trick winner in _parse pbn_string
allow "" in contract name
------
Version 0.1.15 - 23 Oct 2022
Repair tab option in file_operations
------
Version 0.1.13 - 29 Sept 2022
Make player dealer(not declarer in pbn auction
------
Version 0.1.14 - 29 Sept 2022
Repair tab option in file_operations
Version 0.1.13 - 29 Sept 2022
Make player dealer(not declarer in pbn auction
------
Version 0.1.12 - 5 Feb 2022
Various changes around cardplay esp. scoring and results
------
Version 0.1.11 - 15 Nov 2021
contract.py : add scoring
constants.py : scoring constants
------
Version 0.1.10 - 8 Nov 2021
board.py : add declarers_tricks
file_operations.py: Results type check
------
Version 0.1.9 - 8 Nov 2021
board.py not updated
------
Version 0.1.8 - 8 Nov 2021
auction.play: add seat_calls
board.py: add declarers_tricks and optimum_result_table
constants.py: add DENOMINATION_NAMES, remove CARD_RANKS and consolidate into CARD_VALUES
contract.py: add level and target_tricks
file_operations: add Result and OptimumResultTable in pbn
------
Version 0.1.7 - 25 Oct 2021
Add CARD_RANKS to Constants
------
Version 0.1.6 - 15 Oct 2021
Add CARD_VALUES to Constants
Correct bug when a board is created without event
------
Version 0.1.5 - 7 Oct 2021
list to List in hand.py sort_card_list
------
Version 0.1.4 - 2 Oct 2021
Check suit exists in list before removal in hands.py._get_shortest_suit
------
Version 0.1.3 - 29 Sept 2021
Changes to contract, file_operations, hand and trick for cardplay
------
Version 0.1.2 - 23 Aug 2021
Test Contract modifier and tidy up high_card_left in sort_card
------
Version 0.1.1 - 23 Aug 2021
Expose Denomination
------
Version 0.1.0 - 23 Aug 2021
Implement typing
------
Version 0.0.20 - 04 Aug 2021
Improve event and board in file_operations
------
Version 0.0.19 - 17 July 2021
Update 'super'
------
Version 0.0.18 - 03 July 2021
Add leader property to Contract and improve _auction_analysis
------
Version 0.0.17 - 02 July 2021
Add auction keyword to Contract
------
Version 0.0.16 - 30 June 2021
Add level to contract and improve _auction_analysis
------
Version 0.0.15 - 03 June 2021
Expose version in bridgeobjects.VERSION
------
Version 0.0.14 - 03 June 2021
Update Trick and Card for cardplay
------
Version 0.0.13 - 21 May 2021
Add is_honour setter to Card and improve Card eq, ne etc.
------
Version 0.0.12 - 13 May 2021
Various changes to Board, Hand, Constants, and Trick for card play
------
Version 0.0.11 - 05 May 2021
Various changes to Board, Hand, Constants, and Trick for card play
------
Version 0.0.10 - 17 January 2021
Use Denomination in Hand suit_points
------
Version 0.0.9 - 16 January 2021
Make repeated null events take UUID value
------
Version 0.0.8 - 18 November 2020
Initialise event in parse_pbn and improve regex in test
------
Version 0.0.7 - 18 November 2020
Problem in parse_pbn
------
Version 0.0.6 - 18 November 2020
Changed return type of Board.build_fourth_hand
------
Version 0.0.5 - 29 October 2020
Added is_honour to Card
Hand cards by suit can take string or Suit parameter
------
Version 0.0.4 - 24 October 2020
Bugs in file objects
------
Version 0.0.3 - 16 October 2020
Expose parse_lin
------
Version 0.0.2 - 16 October 2020
Expose parse_lin
------
Version 0.0.1 - October 2020
Expose parse_pbn
------
Version 0.0.0 - August 2020
Created and uploaded
---
Raw data
{
"_id": null,
"home_page": "https://psionman@bitbucket.org/psionman/bridgeobjects.git",
"name": "bridgeobjects",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "bridge, duplicate bridge, contract bridge, hand, board, suit, auction, contract, card",
"author": "jeff watkins",
"author_email": "support@bidforgame.com",
"download_url": "https://files.pythonhosted.org/packages/be/9f/a4681a6f9e6949f8be95a449c5379dccd3c57881f1161bde9ab59d457adf/bridgeobjects-0.1.30.tar.gz",
"platform": null,
"description": "# bridgeobjects\nA collection of modules that allows the user to utilise objects used in bridge games, for example, a board or a contract.\n\nThe classes form a natural hierarchy:\n\n event\n \u2514\u2500\u2500 board\n \u251c\u2500\u2500 auction\n \u2502\u00a0\u00a0 \u2514\u2500\u2500 call\n \u2502\u00a0\u00a0 \u2514\u2500\u2500 denomination\n \u251c\u2500\u2500 contract\n \u251c\u2500\u2500 hand\n \u2502\u00a0\u00a0 \u2514\u2500\u2500 card\n \u2502\u00a0\u00a0 \u2514\u2500\u2500 suit\n \u2514\u2500\u2500 trick\n\n(However, some classes are natural subsidiaries not represented in this classification, for example, there are four cards in a trick.)\n\n\nThe objects can be created using a simple, self explanatory, human readable set of definitions\nby using Portable Bridge Notation (PBN) (http://www.tistis.nl/pbn/) or\nRichard\u2019s Bridge Notation (RBN) (http://www.rpbridge.net/7a12.htm).\n\n## Installation\n```bash\npip install bridgeobjects\n```\n\n\n# History\nVersion 0.1.30 0715 Apr 2024\n\n1. Initailse hand shape\n\n------\n\nVersion 0.1.29 07 Mar 2024\n\n1. Rationalise modifier in contract\n\n------\n\nVersion 0.1.28 01 Feb 2024\n\n1. Refactor hand\n2. File load pbn to handle BBO files\n\n------\n\nVersion 0.1.27 7 Jan 2024\n\n1. Fix calls in Auction\n\n------\n\nVersion 0.1.26 13 Oct 2023\n\n1. Add icecream\n\n------\n\nVersion 0.1.25 18 Sep 2023\n\n1. Add auction to pbn string\n\n------\n\nVersion 0.1.24 21 Jul 2023\n\n1. Fix tricks in parse_pbn and add sealer to pbn string on board\n\n------\n\nVersion 0.1.23 01 Jul 2023\n\n1. Fix pbn X and XX\n\n------\n\nVersion 0.1.22 29 Jun 2023\n\n1. refactor and linting\n\n------\n\nVersion 0.1.21 11 May 2023\n\n1. Remove Result from pbn str\n\n------\n\nVersion 0.1.20 05 May 2023\n\n1. Create seven_six\n\n------\n\nVersion 0.1.19 05 Mar 2023\n\n1. Fix vulnerability in scoring\n\n------\n\nVersion 0.1.18 - 19 Jan 2023\n\n1. Add VULNERABILITY to constants\n\n------\n\nVersion 0.1.17 - 31 Dec 2022\n\n contract.py\n fix scoring bug ans refactor\n add json functionality\n\n trick.py\n add json functionality\n\n auction.py\n add json functionality\n\n _parse_pbn_string.py\n support for seat_calls (not implemented)\n------\n\nVersion 0.1.16 - 24 Nov 2022\n\n change output format of create_pbn_board\n fix trick winner in _parse pbn_string\n allow \"\" in contract name\n\n------\n\nVersion 0.1.15 - 23 Oct 2022\n\nRepair tab option in file_operations\n\n------\n\n\nVersion 0.1.13 - 29 Sept 2022\n\nMake player dealer(not declarer in pbn auction\n\n------\n\nVersion 0.1.14 - 29 Sept 2022\n\nRepair tab option in file_operations\n\n\nVersion 0.1.13 - 29 Sept 2022\n\nMake player dealer(not declarer in pbn auction\n\n------\n\nVersion 0.1.12 - 5 Feb 2022\n\nVarious changes around cardplay esp. scoring and results\n\n------\n\nVersion 0.1.11 - 15 Nov 2021\n\ncontract.py : add scoring\nconstants.py : scoring constants\n\n------\n\nVersion 0.1.10 - 8 Nov 2021\n\nboard.py : add declarers_tricks\nfile_operations.py: Results type check\n\n------\n\nVersion 0.1.9 - 8 Nov 2021\n\nboard.py not updated\n\n------\n\nVersion 0.1.8 - 8 Nov 2021\n\nauction.play: add seat_calls\n\nboard.py: add declarers_tricks and optimum_result_table\n\nconstants.py: add DENOMINATION_NAMES, remove CARD_RANKS and consolidate into CARD_VALUES\n\ncontract.py: add level and target_tricks\n\nfile_operations: add Result and OptimumResultTable in pbn\n\n------\n\nVersion 0.1.7 - 25 Oct 2021\n\nAdd CARD_RANKS to Constants\n\n\n------\n\nVersion 0.1.6 - 15 Oct 2021\n\nAdd CARD_VALUES to Constants\nCorrect bug when a board is created without event\n\n------\n\nVersion 0.1.5 - 7 Oct 2021\n\nlist to List in hand.py sort_card_list\n------\n\nVersion 0.1.4 - 2 Oct 2021\n\nCheck suit exists in list before removal in hands.py._get_shortest_suit\n------\n\nVersion 0.1.3 - 29 Sept 2021\n\nChanges to contract, file_operations, hand and trick for cardplay\n------\n\nVersion 0.1.2 - 23 Aug 2021\n\nTest Contract modifier and tidy up high_card_left in sort_card\n------\n\nVersion 0.1.1 - 23 Aug 2021\n\nExpose Denomination\n------\n\nVersion 0.1.0 - 23 Aug 2021\n\nImplement typing\n------\n\nVersion 0.0.20 - 04 Aug 2021\n\nImprove event and board in file_operations\n------\n\nVersion 0.0.19 - 17 July 2021\n\nUpdate 'super'\n------\n\nVersion 0.0.18 - 03 July 2021\n\nAdd leader property to Contract and improve _auction_analysis\n------\n\nVersion 0.0.17 - 02 July 2021\n\nAdd auction keyword to Contract\n------\n\nVersion 0.0.16 - 30 June 2021\n\nAdd level to contract and improve _auction_analysis\n------\n\nVersion 0.0.15 - 03 June 2021\n\nExpose version in bridgeobjects.VERSION\n------\n\nVersion 0.0.14 - 03 June 2021\n\nUpdate Trick and Card for cardplay\n------\n\nVersion 0.0.13 - 21 May 2021\n\nAdd is_honour setter to Card and improve Card eq, ne etc.\n\n------\n\nVersion 0.0.12 - 13 May 2021\n\nVarious changes to Board, Hand, Constants, and Trick for card play\n\n------\n\nVersion 0.0.11 - 05 May 2021\n\nVarious changes to Board, Hand, Constants, and Trick for card play\n\n------\n\nVersion 0.0.10 - 17 January 2021\n\nUse Denomination in Hand suit_points\n\n------\n\nVersion 0.0.9 - 16 January 2021\nMake repeated null events take UUID value\n\n------\nVersion 0.0.8 - 18 November 2020\n\nInitialise event in parse_pbn and improve regex in test\n\n------\nVersion 0.0.7 - 18 November 2020\n\nProblem in parse_pbn\n\n------\n\nVersion 0.0.6 - 18 November 2020\n\nChanged return type of Board.build_fourth_hand\n\n------\nVersion 0.0.5 - 29 October 2020\n\nAdded is_honour to Card\n\nHand cards by suit can take string or Suit parameter\n\n------\n\nVersion 0.0.4 - 24 October 2020\n\nBugs in file objects\n\n------\n\nVersion 0.0.3 - 16 October 2020\n\nExpose parse_lin\n\n------\n\nVersion 0.0.2 - 16 October 2020\n\nExpose parse_lin\n\n------\nVersion 0.0.1 - October 2020\n\nExpose parse_pbn\n\n------\nVersion 0.0.0 - August 2020\n\nCreated and uploaded\n\n---\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A collection of modules that allows the user to access objects used",
"version": "0.1.30",
"project_urls": {
"Download": "https://pypi.org/project/bridgeobjects/",
"Homepage": "https://psionman@bitbucket.org/psionman/bridgeobjects.git"
},
"split_keywords": [
"bridge",
" duplicate bridge",
" contract bridge",
" hand",
" board",
" suit",
" auction",
" contract",
" card"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ad8bd4f74fbf14550c7f251d325c604a27d19c4eb7295c8d38958dad3c4beaee",
"md5": "9b1e15f7f867b80bf6f21d86fc9d141e",
"sha256": "cbeccb764bbf4fc7c5e124009374cfbc79d5fbddb9a96b05b9e8044547d8f9c8"
},
"downloads": -1,
"filename": "bridgeobjects-0.1.30-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9b1e15f7f867b80bf6f21d86fc9d141e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 86909,
"upload_time": "2024-04-15T14:44:37",
"upload_time_iso_8601": "2024-04-15T14:44:37.469717Z",
"url": "https://files.pythonhosted.org/packages/ad/8b/d4f74fbf14550c7f251d325c604a27d19c4eb7295c8d38958dad3c4beaee/bridgeobjects-0.1.30-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "be9fa4681a6f9e6949f8be95a449c5379dccd3c57881f1161bde9ab59d457adf",
"md5": "0f36da93b762e41973f68c65eee44b4d",
"sha256": "911e7ed28eb5530dea289bf40df36245a278719d444befa78cec936dd81cf04d"
},
"downloads": -1,
"filename": "bridgeobjects-0.1.30.tar.gz",
"has_sig": false,
"md5_digest": "0f36da93b762e41973f68c65eee44b4d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 73249,
"upload_time": "2024-04-15T14:44:39",
"upload_time_iso_8601": "2024-04-15T14:44:39.791609Z",
"url": "https://files.pythonhosted.org/packages/be/9f/a4681a6f9e6949f8be95a449c5379dccd3c57881f1161bde9ab59d457adf/bridgeobjects-0.1.30.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-15 14:44:39",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "bridgeobjects"
}