fdev-ids 1.3.1__tar.gz → 1.5.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. {fdev_ids-1.3.1/src/fdev_ids.egg-info → fdev_ids-1.5.0}/PKG-INFO +43 -5
  2. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/README.md +42 -4
  3. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/pyproject.toml +1 -1
  4. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/commodity.csv +14 -0
  5. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/outfitting.csv +49 -3
  6. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/sku.csv +4 -0
  7. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/systemallegiance.csv +1 -0
  8. fdev_ids-1.5.0/src/fdev_ids/__init__.py +7 -0
  9. fdev_ids-1.3.1/src/fdev_ids/__init__.py → fdev_ids-1.5.0/src/fdev_ids/_fdev_ids.py +2 -2
  10. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/_loader.py +2 -0
  11. fdev_ids-1.5.0/src/fdev_ids/py.typed +0 -0
  12. {fdev_ids-1.3.1 → fdev_ids-1.5.0/src/fdev_ids.egg-info}/PKG-INFO +43 -5
  13. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids.egg-info/SOURCES.txt +2 -0
  14. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/LICENSE +0 -0
  15. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/setup.cfg +0 -0
  16. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/CQCRank.csv +0 -0
  17. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/EmpireRank.csv +0 -0
  18. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/ExplorationRank.csv +0 -0
  19. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/FederationRank.csv +0 -0
  20. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/TradeRank.csv +0 -0
  21. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/bundles.csv +0 -0
  22. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/combatrank.csv +0 -0
  23. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/crimes.csv +0 -0
  24. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/dockingdeniedreasons.csv +0 -0
  25. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/economy.csv +0 -0
  26. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/engineers.csv +0 -0
  27. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/factionids.csv +0 -0
  28. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/factionstate.csv +0 -0
  29. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/government.csv +0 -0
  30. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/happiness.csv +0 -0
  31. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/material.csv +0 -0
  32. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/microresources.csv +0 -0
  33. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/passengers.csv +0 -0
  34. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/rare_commodity.csv +0 -0
  35. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/rings.csv +0 -0
  36. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/security.csv +0 -0
  37. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/shipyard.csv +0 -0
  38. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids/FDevIDs/terraformingstate.csv +0 -0
  39. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids.egg-info/dependency_links.txt +0 -0
  40. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids.egg-info/requires.txt +0 -0
  41. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/src/fdev_ids.egg-info/top_level.txt +0 -0
  42. {fdev_ids-1.3.1 → fdev_ids-1.5.0}/tests/test_fdev_ids.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fdev-ids
3
- Version: 1.3.1
3
+ Version: 1.5.0
4
4
  Summary: Data from https://github.com/EDCD/FDevIDs bundled in Python data structures.
5
5
  License-Expression: MIT
6
6
  Project-URL: Homepage, https://codeberg.org/jdlbt/fdev-ids-python
@@ -45,7 +45,7 @@ Data from https://github.com/EDCD/FDevIDs bundled in Python data structures.
45
45
 
46
46
  Load a table by specifying the lowercase table name:
47
47
 
48
- ```pycon
48
+ ```python
49
49
  >>> from pprint import pprint
50
50
  >>> from fdev_ids import load_table
51
51
  >>> bundles = load_table("bundles")
@@ -69,7 +69,7 @@ Load a table by specifying the lowercase table name:
69
69
 
70
70
  Tables with a single value per ID return the value directly for each ID:
71
71
 
72
- ```pycon
72
+ ```python
73
73
  >>> factionids = load_table("factionids")
74
74
  >>> pprint(factionids)
75
75
  {'$faction_Alliance;': 'Alliance',
@@ -84,7 +84,7 @@ Tables with a single value per ID return the value directly for each ID:
84
84
 
85
85
  Similarily when only the ID is defined:
86
86
 
87
- ```pycon
87
+ ```python
88
88
  >>> dockingdeniedreasons = load_table("dockingdeniedreasons")
89
89
  >>> pprint(dockingdeniedreasons)
90
90
  {'ActiveFighter': 'ActiveFighter',
@@ -96,11 +96,49 @@ Similarily when only the ID is defined:
96
96
  'TooLarge': 'TooLarge'}
97
97
  ```
98
98
 
99
+ The list of available tables is stored in the `tables` module variable:
100
+
101
+ ```python
102
+ >>> from fdev_ids import tables
103
+ >>> pprint(tables)
104
+ ('bundles',
105
+ 'combatrank',
106
+ 'commodity',
107
+ 'cqcrank',
108
+ 'crimes',
109
+ 'dockingdeniedreasons',
110
+ 'economy',
111
+ 'empirerank',
112
+ 'engineers',
113
+ 'explorationrank',
114
+ 'factionids',
115
+ 'factionstate',
116
+ 'federationrank',
117
+ 'government',
118
+ 'happiness',
119
+ 'material',
120
+ 'microresources',
121
+ 'outfitting',
122
+ 'passengers',
123
+ 'rare_commodity',
124
+ 'rings',
125
+ 'security',
126
+ 'shipyard',
127
+ 'sku',
128
+ 'systemallegiance',
129
+ 'terraformingstate',
130
+ 'traderank')
131
+ ```
132
+
133
+ ### Notes
134
+
135
+ The tables are lazily loaded and cached on first access. Subsequent loading of a table returns the cached data.
136
+
99
137
  ## Terms of Use
100
138
 
101
139
  The data contained in this package is based on publicly available information sourced from https://github.com/EDCD/FDevIDs and subject to the [Elite Dangerous EULA and Terms of Use](https://www.frontierstore.net/ed-eula/).
102
140
 
103
- The MIT license applies to the code in this repository only.
141
+ The MIT license applies only to the code in this repository.
104
142
 
105
143
  ## Issues & support
106
144
 
@@ -10,7 +10,7 @@ Data from https://github.com/EDCD/FDevIDs bundled in Python data structures.
10
10
 
11
11
  Load a table by specifying the lowercase table name:
12
12
 
13
- ```pycon
13
+ ```python
14
14
  >>> from pprint import pprint
15
15
  >>> from fdev_ids import load_table
16
16
  >>> bundles = load_table("bundles")
@@ -34,7 +34,7 @@ Load a table by specifying the lowercase table name:
34
34
 
35
35
  Tables with a single value per ID return the value directly for each ID:
36
36
 
37
- ```pycon
37
+ ```python
38
38
  >>> factionids = load_table("factionids")
39
39
  >>> pprint(factionids)
40
40
  {'$faction_Alliance;': 'Alliance',
@@ -49,7 +49,7 @@ Tables with a single value per ID return the value directly for each ID:
49
49
 
50
50
  Similarily when only the ID is defined:
51
51
 
52
- ```pycon
52
+ ```python
53
53
  >>> dockingdeniedreasons = load_table("dockingdeniedreasons")
54
54
  >>> pprint(dockingdeniedreasons)
55
55
  {'ActiveFighter': 'ActiveFighter',
@@ -61,11 +61,49 @@ Similarily when only the ID is defined:
61
61
  'TooLarge': 'TooLarge'}
62
62
  ```
63
63
 
64
+ The list of available tables is stored in the `tables` module variable:
65
+
66
+ ```python
67
+ >>> from fdev_ids import tables
68
+ >>> pprint(tables)
69
+ ('bundles',
70
+ 'combatrank',
71
+ 'commodity',
72
+ 'cqcrank',
73
+ 'crimes',
74
+ 'dockingdeniedreasons',
75
+ 'economy',
76
+ 'empirerank',
77
+ 'engineers',
78
+ 'explorationrank',
79
+ 'factionids',
80
+ 'factionstate',
81
+ 'federationrank',
82
+ 'government',
83
+ 'happiness',
84
+ 'material',
85
+ 'microresources',
86
+ 'outfitting',
87
+ 'passengers',
88
+ 'rare_commodity',
89
+ 'rings',
90
+ 'security',
91
+ 'shipyard',
92
+ 'sku',
93
+ 'systemallegiance',
94
+ 'terraformingstate',
95
+ 'traderank')
96
+ ```
97
+
98
+ ### Notes
99
+
100
+ The tables are lazily loaded and cached on first access. Subsequent loading of a table returns the cached data.
101
+
64
102
  ## Terms of Use
65
103
 
66
104
  The data contained in this package is based on publicly available information sourced from https://github.com/EDCD/FDevIDs and subject to the [Elite Dangerous EULA and Terms of Use](https://www.frontierstore.net/ed-eula/).
67
105
 
68
- The MIT license applies to the code in this repository only.
106
+ The MIT license applies only to the code in this repository.
69
107
 
70
108
  ## Issues & support
71
109
 
@@ -41,7 +41,7 @@ dev = [
41
41
  version = { attr = "fdev_ids.__version__" }
42
42
 
43
43
  [tool.setuptools.package-data]
44
- fdev_ids = ["FDevIDs/*.csv"]
44
+ fdev_ids = ["FDevIDs/*.csv", "py.typed"]
45
45
 
46
46
  [tool.black]
47
47
  line-length = 88
@@ -255,3 +255,17 @@ id,symbol,category,name
255
255
  129030462,ThargoidOrganSample,Salvage,Organ Sample
256
256
  129031238,Steel,Metals,Steel
257
257
  129031327,Haematite,Minerals,Haematite
258
+ 129045961,CuratedCommodity,Industrial Materials,Curated Commodity Package
259
+ 129046165,Iridium,Metals,Iridium
260
+ 129046166,Helium,Chemicals,Helium
261
+ 129046167,Helium3,Chemicals,Helium-3
262
+ 129046168,Bastnasite,Minerals,Bastnasite
263
+ 129046169,Deuterium,Minerals,Deuterium
264
+ 129046170,Thortveitite,Minerals,Thortveitite
265
+ 129046171,QuartzPyroxenite,Minerals,Quartz Pyroxenite
266
+ 129046172,Olivine,Minerals,Olivine
267
+ 129046173,PericlaseDunite,Minerals,Periclase Dunite
268
+ 129046174,Sapphire,Minerals,Sapphire
269
+ 129046175,Diamond,Minerals,Diamond
270
+ 129046176,Ruby,Minerals,Ruby
271
+ 129046177,Magnesite,Minerals,Magnesite
@@ -850,9 +850,9 @@ id,symbol,category,name,mount,guidance,ship,class,rating,entitlement
850
850
  128727927,Int_PassengerCabin_Size6_Class2,internal,Business Class Passenger Cabin,,,,6,D,
851
851
  128727928,Int_PassengerCabin_Size6_Class3,internal,First Class Passenger Cabin,,,,6,C,
852
852
  128727929,Int_PassengerCabin_Size6_Class4,internal,Luxury Class Passenger Cabin,,,,6,B,
853
- 128727930,Int_FighterBay_Size5_Class1,internal,Fighter Hangar,,,,5,D,ELITE_HORIZONS_V_PLANETARY_LANDINGS
854
- 128727931,Int_FighterBay_Size6_Class1,internal,Fighter Hangar,,,,6,D,ELITE_HORIZONS_V_PLANETARY_LANDINGS
855
- 128727932,Int_FighterBay_Size7_Class1,internal,Fighter Hangar,,,,7,D,ELITE_HORIZONS_V_PLANETARY_LANDINGS
853
+ 128727930,Int_FighterBay_Size5_Class1,internal,Vessel Hangar,,,,5,D,ELITE_HORIZONS_V_PLANETARY_LANDINGS
854
+ 128727931,Int_FighterBay_Size6_Class1,internal,Vessel Hangar,,,,6,D,ELITE_HORIZONS_V_PLANETARY_LANDINGS
855
+ 128727932,Int_FighterBay_Size7_Class1,internal,Vessel Hangar,,,,7,D,ELITE_HORIZONS_V_PLANETARY_LANDINGS
856
856
  128732552,Hpt_DumbfireMissileRack_Fixed_Medium_Lasso,hardpoint,Rocket Propelled FSD Disruptor,Fixed,Dumbfire,,2,B,ELITE_SPECIFIC_V_POWER_200100
857
857
  128734690,Int_PassengerCabin_Size2_Class1,internal,Economy Class Passenger Cabin,,,,2,E,
858
858
  128734691,Int_PassengerCabin_Size3_Class1,internal,Economy Class Passenger Cabin,,,,3,E,
@@ -1189,3 +1189,49 @@ id,symbol,category,name,mount,guidance,ship,class,rating,entitlement
1189
1189
  129043776,Int_MkII_PassengerCabin_Size5_Class2,internal,MkII Business Class Passenger Cabin,,,,5,C,
1190
1190
  129043777,Int_MkII_PassengerCabin_Size6_Class1,internal,MkII Economy Class Passenger Cabin,,,,5,D,
1191
1191
  129043778,Int_MkII_PassengerCabin_Size6_Class2,internal,MkII Business Class Passenger Cabin,,,,5,C,
1192
+ 129044375,Hpt_Railgun_Fixed_Medium,mercgear,Enduring Feedback Rail Gun,,,,2,B,
1193
+ 129044376,Int_PowerDistributor_Size5_Class5,mercgear,Balanced Power Distributor,,,,5,A,
1194
+ 129044377,Int_ModuleReinforcement_Size5_Class2,mercgear,Heavy Duty Module Reinforcement Package,,,,5,D,
1195
+ 129045428,Hpt_Mining_AbrBlstr_Fixed_Small,mercgear,Far-Reaching Abrasion Blaster,Fixed,,,1,D,
1196
+ 129045429,Hpt_CausticMissile_Fixed_Medium,mercgear,High-Yield Enzyme Missile Rack,Fixed,Dumbfire,,2,B,
1197
+ 129045430,Hpt_Slugshot_Gimbal_Large,mercgear,Double Screaming Fragment Cannon,Gimballed,,,3,C,
1198
+ 129045431,Hpt_Slugshot_Gimbal_Small,mercgear,Double Screaming Fragment Cannon,Gimballed,,,1,E,
1199
+ 129045432,Hpt_MiningLaser_Fixed_Small,mercgear,Long Range Mining Laser,Fixed,,,1,D,
1200
+ 129045433,Hpt_MultiCannon_Fixed_Medium,mercgear,Rapid Phase Multi-Cannon,Fixed,,,2,E,
1201
+ 129045434,Hpt_BasicMissileRack_Fixed_Medium,mercgear,Drag Seeker Missile Rack,Fixed,Seeker,,2,B,
1202
+ 129045435,Hpt_BasicMissileRack_Fixed_Medium,mercgear,Lightweight Thermal Seeker Missile Rack,Fixed,Seeker,,2,B,
1203
+ 129045436,Hpt_BasicMissileRack_Fixed_Medium,mercgear,Lockdown Seeker Missile Rack,Fixed,Seeker,,2,B,
1204
+ 129045437,Hpt_BasicMissileRack_Fixed_Large,mercgear,Lockdown Seeker Missile Rack,Fixed,Seeker,,3,A,
1205
+ 129045438,Int_PowerDistributor_Size3_Class2,mercgear,Support Focused Power Distributor,,,,3,D,
1206
+ 129045439,Int_PowerDistributor_Size3_Class5,mercgear,Support Focused Power Distributor,,,,3,A,
1207
+ 129045440,Int_PowerDistributor_Size4_Class2,mercgear,Support Focused Power Distributor,,,,4,D,
1208
+ 129045441,Int_PowerDistributor_Size4_Class5,mercgear,Support Focused Power Distributor,,,,4,A,
1209
+ 129045442,Int_PowerDistributor_Size6_Class5,mercgear,Support Focused Power Distributor,,,,6,A,
1210
+ 129045443,Int_CargoRack_Size5_Class1,mercgear,Extended Cargo Rack,,,,5,E,
1211
+ 129045444,Int_CargoRack_Size6_Class1,mercgear,Extended Cargo Rack,,,,6,E,
1212
+ 129045445,Int_DetailedSurfaceScanner_Tiny,mercgear,Long Range Detailed Surface Scanner,,,,1,I,
1213
+ 129045539,Int_FighterBayMk2_Size6_Class1,internal,Mk II Vessel Hangar,,,,6,D,ELITE_V_MKIIFIGHTERBAY
1214
+ 129045540,Int_FighterBayMk2_Size5_Class1,internal,Mk II Vessel Hangar,,,,5,D,ELITE_V_MKIIFIGHTERBAY
1215
+ 129045541,Int_FighterBayMk2_Size7_Class1,internal,Mk II Vessel Hangar,,,,7,D,ELITE_V_MKIIFIGHTERBAY
1216
+ 129045677,Int_FighterBayMk2_Size5_Class1_Free,internal,Mk II Vessel Hangar,,,,5,D,ELITE_V_MKIIFIGHTERBAY_FREE
1217
+ 129045678,Int_FighterBayMk2_Size6_Class1_Free,internal,Mk II Vessel Hangar,,,,6,D,ELITE_V_MKIIFIGHTERBAY_FREE
1218
+ 129045679,Int_FighterBayMk2_Size7_Class1_Free,internal,Mk II Vessel Hangar,,,,7,D,ELITE_V_MKIIFIGHTERBAY_FREE
1219
+ 129045963,Int_FighterBay_Size5_Class1_Free,internal,Vessel Hangar,,,,5,D,ELITE_V_MKIFIGHTERBAY_FREE
1220
+ 129045964,Int_FighterBay_Size6_Class1_Free,internal,Vessel Hangar,,,,6,D,ELITE_V_MKIFIGHTERBAY_FREE
1221
+ 129045965,Int_FighterBay_Size7_Class1_Free,internal,Vessel Hangar,,,,7,D,ELITE_V_MKIFIGHTERBAY_FREE
1222
+ 129046055,Int_LargeBuggyBay_Size2_Class3,internal,Large Planetary Vehicle Hangar,,,,2,F,ELITE_HORIZONS_V_PLANETARY_LANDINGS
1223
+ 129046056,Int_LargeBuggyBay_Size4_Class3,internal,Large Planetary Vehicle Hangar,,,,4,F,ELITE_HORIZONS_V_PLANETARY_LANDINGS
1224
+ 129046057,Int_LargeBuggyBay_Size6_Class3,internal,Large Planetary Vehicle Hangar,,,,6,F,ELITE_HORIZONS_V_PLANETARY_LANDINGS
1225
+ 129046058,Int_MkIILargeBuggyBay_Size2_Class3,internal,Mk II Large Planetary Vehicle Hangar,,,,2,F,ELITE_HORIZONS_V_PLANETARY_LANDINGS
1226
+ 129046059,Int_MkIILargeBuggyBay_Size4_Class3,internal,Mk II Large Planetary Vehicle Hangar,,,,4,F,ELITE_HORIZONS_V_PLANETARY_LANDINGS
1227
+ 129046060,Int_MkIILargeBuggyBay_Size6_Class3,internal,Mk II Large Planetary Vehicle Hangar,,,,6,F,ELITE_HORIZONS_V_PLANETARY_LANDINGS
1228
+ 129046181,Int_LargeBuggyBay_Size2_Class3_Free,internal,Large Planetary Vehicle Hangar,,,,2,F,ELITE_V_LARGEBUGGYBAY_FREE
1229
+ 129046182,Int_LargeBuggyBay_Size4_Class3_Free,internal,Large Planetary Vehicle Hangar,,,,4,F,ELITE_V_LARGEBUGGYBAY_FREE
1230
+ 129046183,Int_LargeBuggyBay_Size6_Class3_Free,internal,Large Planetary Vehicle Hangar,,,,6,F,ELITE_V_LARGEBUGGYBAY_FREE
1231
+ 129046184,Int_MkIILargeBuggyBay_Size2_Class3_Free,internal,Mk II Large Planetary Vehicle Hangar,,,,2,F,ELITE_V_LARGEBUGGYBAY_FREE
1232
+ 129046185,Int_MkIILargeBuggyBay_Size4_Class3_Free,internal,Mk II Large Planetary Vehicle Hangar,,,,4,F,ELITE_V_LARGEBUGGYBAY_FREE
1233
+ 129046186,Int_MkIILargeBuggyBay_Size6_Class3_Free,internal,Mk II Large Planetary Vehicle Hangar,,,,6,F,ELITE_V_LARGEBUGGYBAY_FREE
1234
+ 129046187,Hpt_Cannon_Fixed_Huge,mercgear,Force Impact Cannon,Fixed,,,4,B,
1235
+ 129046188,Hpt_PulseLaserBurst_Gimbal_Medium,mercgear,Regenerative Burst Laser,Gimballed,,,2,F,
1236
+ 129046189,Hpt_BeamLaser_Fixed_Huge,mercgear,Overloaded Beam Laser,Fixed,,,4,A,
1237
+ 129046190,Hpt_BasicMissileRack_Fixed_Large,mercgear,Exposing Missiles,Fixed,Seeker,,3,A,
@@ -51,8 +51,12 @@ ELITE_V_COBRA_MKV,was early access purchase in the arx store (not required anymo
51
51
  ELITE_V_CORSAIR,was early access purchase in the arx store (not required anymore)
52
52
  ELITE_V_EXPLORER_NX,was early access purchase in the arx store (not required anymore)
53
53
  ELITE_V_LAKON_MINER,was early access purchase in the arx store (not required anymore)
54
+ ELITE_V_LARGEBUGGYBAY_FREE,early access purchase in the arx store
54
55
  ELITE_V_MANDALAY,was early access purchase in the arx store (not required anymore)
55
56
  ELITE_V_MEDIUM_TRANSPORT_01,was free from day one
57
+ ELITE_V_MKIFIGHTERBAY_FREE,early access purchase in the arx store
58
+ ELITE_V_MKIIFIGHTERBAY,early access purchase in the arx store
59
+ ELITE_V_MKIIFIGHTERBAY_FREE,early access purchase in the arx store
56
60
  ELITE_V_PANTHER_MKII,was early access purchase in the arx store (not required anymore)
57
61
  ELITE_V_PYTHON_NX,was early access purchase in the arx store (not required anymore)
58
62
  ELITE_V_SMALL_COMBAT_01,early access purchase in the arx store
@@ -7,3 +7,4 @@ Alliance,Alliance
7
7
  Guardian,Guardian
8
8
  Thargoid,Thargoid
9
9
  PlayerPilots,Player Pilots
10
+ FrontlineSolutions,Frontline Solutions
@@ -0,0 +1,7 @@
1
+ from ._fdev_ids import load_table
2
+ from ._fdev_ids import TableName
3
+ from ._fdev_ids import tables
4
+
5
+ __version__ = "1.5.0"
6
+
7
+ __all__ = ["load_table", "TableName", "tables"]
@@ -1,11 +1,10 @@
1
+ from functools import cache
1
2
  from typing import get_args, Literal
2
3
 
3
4
  from ._loader import _list_to_index
4
5
  from ._loader import _load_csv
5
6
  from ._loader import _tables_index
6
7
 
7
- __version__ = "1.3.1"
8
-
9
8
  TableName = Literal[
10
9
  "bundles",
11
10
  "combatrank",
@@ -39,6 +38,7 @@ TableName = Literal[
39
38
  tables: tuple[str] = tuple(get_args(TableName))
40
39
 
41
40
 
41
+ @cache
42
42
  def load_table(table: TableName) -> dict[str | int, dict]:
43
43
  """Load a table of FDev IDs into a dictionary.
44
44
 
@@ -1,4 +1,5 @@
1
1
  from csv import DictReader
2
+ from functools import cache
2
3
  from pathlib import Path
3
4
  from typing import Any
4
5
 
@@ -36,6 +37,7 @@ def _list_to_index(records: list[dict]) -> dict[str | int, dict]:
36
37
  return {tuple(record.values())[0]: record for record in records}
37
38
 
38
39
 
40
+ @cache
39
41
  def _tables_index() -> dict[str, Path]:
40
42
  """Return a index of available id tables. The keys are the table names in
41
43
  lowercase."""
File without changes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fdev-ids
3
- Version: 1.3.1
3
+ Version: 1.5.0
4
4
  Summary: Data from https://github.com/EDCD/FDevIDs bundled in Python data structures.
5
5
  License-Expression: MIT
6
6
  Project-URL: Homepage, https://codeberg.org/jdlbt/fdev-ids-python
@@ -45,7 +45,7 @@ Data from https://github.com/EDCD/FDevIDs bundled in Python data structures.
45
45
 
46
46
  Load a table by specifying the lowercase table name:
47
47
 
48
- ```pycon
48
+ ```python
49
49
  >>> from pprint import pprint
50
50
  >>> from fdev_ids import load_table
51
51
  >>> bundles = load_table("bundles")
@@ -69,7 +69,7 @@ Load a table by specifying the lowercase table name:
69
69
 
70
70
  Tables with a single value per ID return the value directly for each ID:
71
71
 
72
- ```pycon
72
+ ```python
73
73
  >>> factionids = load_table("factionids")
74
74
  >>> pprint(factionids)
75
75
  {'$faction_Alliance;': 'Alliance',
@@ -84,7 +84,7 @@ Tables with a single value per ID return the value directly for each ID:
84
84
 
85
85
  Similarily when only the ID is defined:
86
86
 
87
- ```pycon
87
+ ```python
88
88
  >>> dockingdeniedreasons = load_table("dockingdeniedreasons")
89
89
  >>> pprint(dockingdeniedreasons)
90
90
  {'ActiveFighter': 'ActiveFighter',
@@ -96,11 +96,49 @@ Similarily when only the ID is defined:
96
96
  'TooLarge': 'TooLarge'}
97
97
  ```
98
98
 
99
+ The list of available tables is stored in the `tables` module variable:
100
+
101
+ ```python
102
+ >>> from fdev_ids import tables
103
+ >>> pprint(tables)
104
+ ('bundles',
105
+ 'combatrank',
106
+ 'commodity',
107
+ 'cqcrank',
108
+ 'crimes',
109
+ 'dockingdeniedreasons',
110
+ 'economy',
111
+ 'empirerank',
112
+ 'engineers',
113
+ 'explorationrank',
114
+ 'factionids',
115
+ 'factionstate',
116
+ 'federationrank',
117
+ 'government',
118
+ 'happiness',
119
+ 'material',
120
+ 'microresources',
121
+ 'outfitting',
122
+ 'passengers',
123
+ 'rare_commodity',
124
+ 'rings',
125
+ 'security',
126
+ 'shipyard',
127
+ 'sku',
128
+ 'systemallegiance',
129
+ 'terraformingstate',
130
+ 'traderank')
131
+ ```
132
+
133
+ ### Notes
134
+
135
+ The tables are lazily loaded and cached on first access. Subsequent loading of a table returns the cached data.
136
+
99
137
  ## Terms of Use
100
138
 
101
139
  The data contained in this package is based on publicly available information sourced from https://github.com/EDCD/FDevIDs and subject to the [Elite Dangerous EULA and Terms of Use](https://www.frontierstore.net/ed-eula/).
102
140
 
103
- The MIT license applies to the code in this repository only.
141
+ The MIT license applies only to the code in this repository.
104
142
 
105
143
  ## Issues & support
106
144
 
@@ -2,7 +2,9 @@ LICENSE
2
2
  README.md
3
3
  pyproject.toml
4
4
  src/fdev_ids/__init__.py
5
+ src/fdev_ids/_fdev_ids.py
5
6
  src/fdev_ids/_loader.py
7
+ src/fdev_ids/py.typed
6
8
  src/fdev_ids.egg-info/PKG-INFO
7
9
  src/fdev_ids.egg-info/SOURCES.txt
8
10
  src/fdev_ids.egg-info/dependency_links.txt
File without changes
File without changes