django-bom 1.235__py3-none-any.whl

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.

Potentially problematic release.


This version of django-bom might be problematic. Click here for more details.

Files changed (182) hide show
  1. bom/__init__.py +1 -0
  2. bom/admin.py +161 -0
  3. bom/apps.py +8 -0
  4. bom/base_classes.py +31 -0
  5. bom/constants.py +210 -0
  6. bom/context_processors.py +9 -0
  7. bom/csv_headers.py +274 -0
  8. bom/decorators.py +32 -0
  9. bom/form_fields.py +59 -0
  10. bom/forms.py +1400 -0
  11. bom/helpers.py +292 -0
  12. bom/local_settings.py +36 -0
  13. bom/migrations/0001_initial.py +135 -0
  14. bom/migrations/0002_auto_20180908_2151.py +24 -0
  15. bom/migrations/0003_sellerpart_data_source.py +18 -0
  16. bom/migrations/0004_auto_20180911_0011.py +18 -0
  17. bom/migrations/0005_auto_20181007_1934.py +56 -0
  18. bom/migrations/0006_auto_20181007_1949.py +41 -0
  19. bom/migrations/0007_auto_20181009_0256.py +19 -0
  20. bom/migrations/0008_auto_20181030_0427.py +19 -0
  21. bom/migrations/0009_subpart_reference.py +18 -0
  22. bom/migrations/0010_auto_20181202_0733.py +23 -0
  23. bom/migrations/0011_auto_20181202_2113.py +22 -0
  24. bom/migrations/0012_partchangehistory.py +30 -0
  25. bom/migrations/0013_auto_20190222_1631.py +19 -0
  26. bom/migrations/0014_auto_20190223_2353.py +18 -0
  27. bom/migrations/0015_auto_20190303_1915.py +136 -0
  28. bom/migrations/0016_auto_20190405_2308.py +58 -0
  29. bom/migrations/0017_auto_20190616_1912.py +19 -0
  30. bom/migrations/0018_auto_20190616_2143.py +24 -0
  31. bom/migrations/0019_auto_20190624_1246.py +45 -0
  32. bom/migrations/0020_auto_20190627_0207.py +38 -0
  33. bom/migrations/0021_auto_20190627_0428.py +23 -0
  34. bom/migrations/0022_auto_20190811_2140.py +35 -0
  35. bom/migrations/0023_auto_20191205_2351.py +255 -0
  36. bom/migrations/0024_auto_20191214_1342.py +89 -0
  37. bom/migrations/0025_auto_20191221_1907.py +38 -0
  38. bom/migrations/0026_auto_20191222_2258.py +22 -0
  39. bom/migrations/0027_auto_20191222_2347.py +17 -0
  40. bom/migrations/0028_partrevision_displayable_synopsis.py +74 -0
  41. bom/migrations/0029_auto_20191231_1630.py +23 -0
  42. bom/migrations/0030_auto_20200101_2253.py +22 -0
  43. bom/migrations/0031_auto_20200104_1352.py +38 -0
  44. bom/migrations/0032_auto_20200126_1806.py +27 -0
  45. bom/migrations/0033_auto_20200203_0618.py +29 -0
  46. bom/migrations/0034_auto_20200222_0359.py +30 -0
  47. bom/migrations/0035_auto_20200303_0111.py +34 -0
  48. bom/migrations/0036_auto_20200303_0538.py +17 -0
  49. bom/migrations/0037_auto_20200405_1642.py +44 -0
  50. bom/migrations/0038_auto_20200422_0504.py +19 -0
  51. bom/migrations/0039_auto_20200929_2315.py +41 -0
  52. bom/migrations/0040_alter_organization_currency.py +19 -0
  53. bom/migrations/0041_organization_subscription_quantity.py +18 -0
  54. bom/migrations/0042_auto_20210720_2137.py +23 -0
  55. bom/migrations/0043_auto_20211123_0157.py +24 -0
  56. bom/migrations/0044_auto_20220831_1241.py +23 -0
  57. bom/migrations/0045_sellerpart_link.py +18 -0
  58. bom/migrations/0046_alter_sellerpart_unique_together.py +17 -0
  59. bom/migrations/0047_sellerpart_seller_part_number.py +18 -0
  60. bom/migrations/0048_rename_part_organization_number_class_bom_part_organiz_b333d6_idx_and_more.py +1017 -0
  61. bom/migrations/__init__.py +0 -0
  62. bom/models.py +756 -0
  63. bom/part_bom.py +192 -0
  64. bom/settings.py +225 -0
  65. bom/static/bom/css/dashboard.css +17 -0
  66. bom/static/bom/css/jquery.treetable.css +28 -0
  67. bom/static/bom/css/materialize.min.css +13 -0
  68. bom/static/bom/css/part-info.css +15 -0
  69. bom/static/bom/css/style.css +308 -0
  70. bom/static/bom/css/tablesorter-theme.materialize.css +176 -0
  71. bom/static/bom/css/treetable-theme.css +42 -0
  72. bom/static/bom/doc/sample_part_classes.csv +38 -0
  73. bom/static/bom/doc/test_bom.csv +6 -0
  74. bom/static/bom/doc/test_bom_5_intelligent.csv +4 -0
  75. bom/static/bom/doc/test_full_bom.csv +37 -0
  76. bom/static/bom/doc/test_new_parts.csv +5 -0
  77. bom/static/bom/doc/test_new_parts_5_intelligent.csv +5 -0
  78. bom/static/bom/img/_ionicons_svg_md-arrow-dropdown.svg +1 -0
  79. bom/static/bom/img/_ionicons_svg_md-arrow-dropright.svg +1 -0
  80. bom/static/bom/img/favicon.ico +0 -0
  81. bom/static/bom/img/google/web/1x/btn_google_signin_dark_disabled_web.png +0 -0
  82. bom/static/bom/img/google/web/1x/btn_google_signin_dark_focus_web.png +0 -0
  83. bom/static/bom/img/google/web/1x/btn_google_signin_dark_normal_web.png +0 -0
  84. bom/static/bom/img/google/web/1x/btn_google_signin_dark_pressed_web.png +0 -0
  85. bom/static/bom/img/google/web/1x/btn_google_signin_light_disabled_web.png +0 -0
  86. bom/static/bom/img/google/web/1x/btn_google_signin_light_focus_web.png +0 -0
  87. bom/static/bom/img/google/web/1x/btn_google_signin_light_normal_web.png +0 -0
  88. bom/static/bom/img/google/web/1x/btn_google_signin_light_pressed_web.png +0 -0
  89. bom/static/bom/img/google/web/2x/btn_google_signin_dark_disabled_web@2x.png +0 -0
  90. bom/static/bom/img/google/web/2x/btn_google_signin_dark_focus_web@2x.png +0 -0
  91. bom/static/bom/img/google/web/2x/btn_google_signin_dark_normal_web@2x.png +0 -0
  92. bom/static/bom/img/google/web/2x/btn_google_signin_dark_pressed_web@2x.png +0 -0
  93. bom/static/bom/img/google/web/2x/btn_google_signin_light_disabled_web@2x.png +0 -0
  94. bom/static/bom/img/google/web/2x/btn_google_signin_light_focus_web@2x.png +0 -0
  95. bom/static/bom/img/google/web/2x/btn_google_signin_light_normal_web@2x.png +0 -0
  96. bom/static/bom/img/google/web/2x/btn_google_signin_light_pressed_web@2x.png +0 -0
  97. bom/static/bom/img/google/web/vector/btn_google_dark_disabled_ios.eps +814 -0
  98. bom/static/bom/img/google/web/vector/btn_google_dark_disabled_ios.svg +24 -0
  99. bom/static/bom/img/google/web/vector/btn_google_dark_focus_ios.eps +1866 -0
  100. bom/static/bom/img/google/web/vector/btn_google_dark_focus_ios.svg +51 -0
  101. bom/static/bom/img/google/web/vector/btn_google_dark_normal_ios.eps +1031 -0
  102. bom/static/bom/img/google/web/vector/btn_google_dark_normal_ios.svg +50 -0
  103. bom/static/bom/img/google/web/vector/btn_google_dark_pressed_ios.eps +1031 -0
  104. bom/static/bom/img/google/web/vector/btn_google_dark_pressed_ios.svg +50 -0
  105. bom/static/bom/img/google/web/vector/btn_google_light_disabled_ios.eps +814 -0
  106. bom/static/bom/img/google/web/vector/btn_google_light_disabled_ios.svg +24 -0
  107. bom/static/bom/img/google/web/vector/btn_google_light_focus_ios.eps +1837 -0
  108. bom/static/bom/img/google/web/vector/btn_google_light_focus_ios.svg +44 -0
  109. bom/static/bom/img/google/web/vector/btn_google_light_normal_ios.eps +1002 -0
  110. bom/static/bom/img/google/web/vector/btn_google_light_normal_ios.svg +43 -0
  111. bom/static/bom/img/google/web/vector/btn_google_light_pressed_ios.eps +1002 -0
  112. bom/static/bom/img/google/web/vector/btn_google_light_pressed_ios.svg +43 -0
  113. bom/static/bom/img/google_drive_logo.svg +1 -0
  114. bom/static/bom/img/indabom.png +0 -0
  115. bom/static/bom/img/mouser.png +0 -0
  116. bom/static/bom/img/octopart_blue.svg +19 -0
  117. bom/static/bom/js/jquery-3.4.1.min.js +2 -0
  118. bom/static/bom/js/jquery.ba-floatingscrollbar.min.js +10 -0
  119. bom/static/bom/js/jquery.treetable.js +629 -0
  120. bom/static/bom/js/materialize.min.js +6 -0
  121. bom/templates/bom/account-delete.html +23 -0
  122. bom/templates/bom/add-manufacturer-part.html +69 -0
  123. bom/templates/bom/add-sellerpart.html +96 -0
  124. bom/templates/bom/base-menu.html +7 -0
  125. bom/templates/bom/base.html +129 -0
  126. bom/templates/bom/bom-action-btn.html +23 -0
  127. bom/templates/bom/bom-action-table.html +57 -0
  128. bom/templates/bom/bom-base-menu.html +6 -0
  129. bom/templates/bom/bom-base.html +24 -0
  130. bom/templates/bom/bom-form-modal.html +35 -0
  131. bom/templates/bom/bom-form.html +34 -0
  132. bom/templates/bom/bom-signup.html +16 -0
  133. bom/templates/bom/components/bom-flat.html +131 -0
  134. bom/templates/bom/components/bom-indented.html +237 -0
  135. bom/templates/bom/components/manufacturer-part-list.html +271 -0
  136. bom/templates/bom/components/seller-part-list.html +63 -0
  137. bom/templates/bom/create-part.html +68 -0
  138. bom/templates/bom/dashboard-menu.html +15 -0
  139. bom/templates/bom/dashboard.html +300 -0
  140. bom/templates/bom/edit-manufacturer-part.html +75 -0
  141. bom/templates/bom/edit-part-class.html +36 -0
  142. bom/templates/bom/edit-part.html +71 -0
  143. bom/templates/bom/edit-user-meta.html +41 -0
  144. bom/templates/bom/help.html +1363 -0
  145. bom/templates/bom/manufacturer-info.html +83 -0
  146. bom/templates/bom/manufacturers.html +96 -0
  147. bom/templates/bom/nothing-to-see.html +15 -0
  148. bom/templates/bom/organization-create.html +135 -0
  149. bom/templates/bom/part-info.html +440 -0
  150. bom/templates/bom/part-revision-display.html +184 -0
  151. bom/templates/bom/part-revision-edit.html +42 -0
  152. bom/templates/bom/part-revision-manage-bom.html +116 -0
  153. bom/templates/bom/part-revision-new.html +60 -0
  154. bom/templates/bom/part-revision-release.html +48 -0
  155. bom/templates/bom/search-help.html +105 -0
  156. bom/templates/bom/seller-info.html +83 -0
  157. bom/templates/bom/sellers.html +96 -0
  158. bom/templates/bom/settings.html +405 -0
  159. bom/templates/bom/signup.html +28 -0
  160. bom/templates/bom/table_of_contents.html +47 -0
  161. bom/templates/bom/upload-bom.html +112 -0
  162. bom/templates/bom/upload-parts-help.html +107 -0
  163. bom/templates/bom/upload-parts.html +54 -0
  164. bom/templates/registration/login.html +39 -0
  165. bom/tests.py +1506 -0
  166. bom/third_party_apis/__init__.py +0 -0
  167. bom/third_party_apis/base_api.py +51 -0
  168. bom/third_party_apis/google_drive.py +166 -0
  169. bom/third_party_apis/mouser.py +132 -0
  170. bom/third_party_apis/test_apis.py +24 -0
  171. bom/urls.py +89 -0
  172. bom/utils.py +228 -0
  173. bom/validators.py +23 -0
  174. bom/views/__init__.py +0 -0
  175. bom/views/json_views.py +55 -0
  176. bom/views/views.py +1620 -0
  177. bom/wsgi.py +16 -0
  178. django_bom-1.235.dist-info/METADATA +207 -0
  179. django_bom-1.235.dist-info/RECORD +182 -0
  180. django_bom-1.235.dist-info/WHEEL +5 -0
  181. django_bom-1.235.dist-info/licenses/LICENSE +674 -0
  182. django_bom-1.235.dist-info/top_level.txt +1 -0
bom/wsgi.py ADDED
@@ -0,0 +1,16 @@
1
+ """
2
+ WSGI config for bom app.
3
+
4
+ It exposes the WSGI callable as a module-level variable named ``application``.
5
+
6
+ For more information on this file, see
7
+ https://docs.djangoproject.com/en/1.10/howto/deployment/wsgi/
8
+ """
9
+
10
+ import os
11
+
12
+ from django.core.wsgi import get_wsgi_application
13
+
14
+ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "bom.settings")
15
+
16
+ application = get_wsgi_application()
@@ -0,0 +1,207 @@
1
+ Metadata-Version: 2.4
2
+ Name: django-bom
3
+ Version: 1.235
4
+ Summary: A simple Django app to manage a bill of materials.
5
+ Author-email: Mike Kasparian <mpkasp@gmail.com>
6
+ License: GPL-3.0-only
7
+ Project-URL: Homepage, https://www.indabom.com/
8
+ Classifier: Environment :: Web Environment
9
+ Classifier: Framework :: Django
10
+ Classifier: Framework :: Django :: 5
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Programming Language :: Python
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3 :: Only
20
+ Classifier: Topic :: Internet :: WWW/HTTP
21
+ Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
22
+ Requires-Python: >=3.10
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE
25
+ Requires-Dist: Django<5.3,>=5.2
26
+ Requires-Dist: social-auth-app-django<6,>=5
27
+ Requires-Dist: social-auth-core<6,>=4
28
+ Requires-Dist: google-api-python-client>=2
29
+ Requires-Dist: django-materializecss-form
30
+ Requires-Dist: django-money<5,>=3
31
+ Dynamic: license-file
32
+
33
+ # BOM
34
+ ![](https://github.com/mpkasp/django-bom/workflows/Django%20CI/badge.svg)
35
+
36
+ BOM is a simple Django app to manage a bill of materials. It supports multiple part numbering schemes, tracking component sourcing information, estimates costs, and contains smart integrations with Mouser to pull in the latest component pricing and Google Drive for part file management. BOM is written in Python 3 and Django 3.
37
+
38
+ [See a live example](https://www.indabom.com).
39
+
40
+ BOM can be added to an existing (or new) Django project, or stand alone on its own, which can be more convenient if you're interested in tweaking the tool.
41
+
42
+ If you already have a django project, you can skip to [Add Django Bom To Your App](#add-django-bom-to-your-app), otherwise [Start From Scratch: Add to new Django project](#start-from-scratch-add-to-a-new-django-project) to add it to a new django project, or [Start From Scratch: Use as standalone Django project](#start-from-scratch-use-as-a-standalone-django-project).
43
+
44
+ ## Table of contents
45
+ * [Start From Scratch: Add to new Django project](#start-from-scratch-add-to-a-new-django-project)
46
+ * [Add Django Bom To Your App](#add-django-bom-to-your-app)
47
+ * [Start From Scratch: Use as standalone Django project](#start-from-scratch-use-as-a-standalone-django-project)
48
+ * [Customize Base Template](#customize-base-template)
49
+ * [Integrations](#integrations)
50
+ * [Contributing](#contributing)
51
+ * [Installation pitfalls](#installation-pitfalls)
52
+
53
+ ## Start From Scratch: Add to a new Django project
54
+ 1. To start from scratch we recommend setting up a virtual environment using Python 3.8.13
55
+ ```
56
+ virtualenv -p python3 mysite
57
+ cd mysite
58
+ source bin/activate
59
+ ```
60
+
61
+ 2. From here install django, and set up your project.
62
+ ```
63
+ pip install django
64
+ django-admin startproject mysite
65
+ cd mysite
66
+ python manage.py migrate
67
+ python manage.py createsuperuser # make a user for your development environment
68
+ ```
69
+
70
+ 3. Continue on to [Add Django Bom To Your App](#add-django-bom-to-your-app).
71
+
72
+ ## Add Django Bom To Your App
73
+ django-bom is a [reusable django application](https://docs.djangoproject.com/en/1.11/intro/reusable-apps/). If you don't already have a django project, you can follow some quick steps below to get up and running, or read about creating your first django app [here](https://docs.djangoproject.com/en/1.11/intro/tutorial01/).
74
+
75
+ ```
76
+ pip install django-bom
77
+ ```
78
+
79
+ 1. Add "bom" to your INSTALLED_APPS setting like this::
80
+
81
+ ```
82
+ INSTALLED_APPS = [
83
+ ...
84
+ 'bom',
85
+ 'social_django', # to enable google drive sync in bom
86
+ 'djmoney', # for currency
87
+ 'djmoney.contrib.exchange', # for currency
88
+ 'materializecssform',
89
+ ]
90
+ ```
91
+
92
+ 2. Update your URLconf in your project urls.py like this::
93
+
94
+ ```
95
+ path('bom/', include('bom.urls')),
96
+ ```
97
+
98
+ And don't forget to import include:
99
+
100
+ ```
101
+ from django.conf.urls import include
102
+ ```
103
+
104
+ 3. Update your settings.py to add the bom context processor `'bom.context_processors.bom_config',` to your TEMPLATES variable, and create a new empty dictionary BOM_CONFIG.
105
+
106
+ ```
107
+ TEMPLATES = [
108
+ {
109
+ ...
110
+ 'OPTIONS': {
111
+ 'context_processors': [
112
+ ...
113
+ 'bom.context_processors.bom_config',
114
+ ],
115
+ },
116
+ },
117
+ ]
118
+ ```
119
+
120
+ and
121
+
122
+ ```
123
+ BOM_CONFIG = {}
124
+ ```
125
+
126
+ 4. Run `python manage.py migrate` to create the bom models.
127
+
128
+ 5. Start the development server `python manage.py runserver` and visit http://127.0.0.1:8000/admin/
129
+ to manage the bom (you'll need the Admin app enabled).
130
+
131
+ 6. Visit http://127.0.0.1:8000/bom/ to begin.
132
+
133
+
134
+ ## Start From Scratch: Use as a standalone Django project
135
+ 1. To start from scratch we recommend setting up a virtual environment
136
+ ```
137
+ virtualenv -p python3 mysite
138
+ cd mysite
139
+ source bin/activate
140
+ ```
141
+
142
+ 2. From here install django, and set up your project.
143
+ ```
144
+ git clone https://github.com/mpkasp/django-bom.git
145
+ pipenv install
146
+ python manage.py migrate
147
+ cp bom/local_settings.py.example bom/local_settings.py
148
+ python manage.py runserver
149
+ ```
150
+
151
+ ## Customize Base Template
152
+ The base template can be customized to your pleasing. Just add the following configuration to your settings.py:
153
+
154
+ ```
155
+ BOM_CONFIG = {
156
+ 'base_template': 'base.html',
157
+ }
158
+ ```
159
+
160
+ where `base.html` is your base template.
161
+
162
+ ## Integrations
163
+ ### Mouser Integration
164
+ For part matching, make sure to add your Mouser api key. You can get your key [here](https://www.mouser.com/MyMouser/MouserSearchApplication.aspx).
165
+
166
+ ### Google Drive Integration
167
+ Make sure to add the following to your settings.py:
168
+ ```
169
+ AUTHENTICATION_BACKENDS = (
170
+ 'social_core.backends.google.GoogleOpenId',
171
+ 'social_core.backends.google.GoogleOAuth2',
172
+ 'social_core.backends.google.GoogleOAuth',
173
+ 'django.contrib.auth.backends.ModelBackend',
174
+ )
175
+
176
+ SOCIAL_AUTH_GOOGLE_OAUTH2_SCOPE = ['email', 'profile', 'https://www.googleapis.com/auth/drive', 'https://www.googleapis.com/auth/plus.login']
177
+ SOCIAL_AUTH_GOOGLE_OAUTH2_AUTH_EXTRA_ARGUMENTS = {
178
+ 'access_type': 'offline',
179
+ 'approval_prompt': 'auto'
180
+ }
181
+ ```
182
+ And if you're using https on production add:
183
+ ```
184
+ SOCIAL_AUTH_REDIRECT_IS_HTTPS = not DEBUG
185
+ ```
186
+
187
+ ### FIXER
188
+ Fixer.io is used to handle exchange rate calculations. This is helpful if you may be purchasing parts from another currency (especially via Mouser) and you still need to estimate your part costs.
189
+
190
+ To set this up you just need to add your API key to local_settings.py as shown in the example.
191
+
192
+ To update rates, migrate and run `python manage.py update_rates`. Some day we will need to add a (celerybeat?) task to update rates on a schedule. Explained more [here](https://github.com/django-money/django-money#working-with-exchange-rates).
193
+
194
+ ## Contributing
195
+
196
+ Contributions welcome! Before contributing your work please read the [contributing readme](https://github.com/mpkasp/django-bom/blob/master/CONTRIBUTING.md).
197
+
198
+ Also reach out to mike@indabom.com to discuss features, and join our slack channel.
199
+
200
+ ## Installation Pitfalls
201
+
202
+ ### Windows
203
+ #### Sqlite
204
+ You may get an error during your `pip install -r requirements.txt` related to sqlite. This may be fixed by installing Visual C++ for python...
205
+
206
+ #### Cryptography
207
+ Sometimes you'll have issues installing cryptography, if this is the case you may just need to set up some environment variables. This [stackoverflow](https://stackoverflow.com/questions/46288737/error-while-installing-sqlite-using-pip-on-python-2-7-13) may help.
@@ -0,0 +1,182 @@
1
+ bom/__init__.py,sha256=HuvSMR9cYQcppTZGD0XjUVUBtHWwWMh1yMQzk_2wTS4,41
2
+ bom/admin.py,sha256=4xN38uSIGo54MVoo2MXUbvcfuPSAifDc8g0arrEAW4Q,4093
3
+ bom/apps.py,sha256=TJMUTSX1h2genPwCq6SN6g1fhrrSmjEXGg2zQFa_ryM,147
4
+ bom/base_classes.py,sha256=CrWD7wlIkwYb90VoGcVOcw2WoQszRrCje-Re5d_UW1Q,1183
5
+ bom/constants.py,sha256=5CFE0uvKTL91w24rqdAB6EMgpIyw0HhfmmktxF4gCgs,4296
6
+ bom/context_processors.py,sha256=OxMVCqxGtRoHR7aJfTs6xANpxJQzBDUIuNTG1f_Xjoo,312
7
+ bom/csv_headers.py,sha256=1VDJ7aNqYjDhf5_rfWBZqO6wsIS99oD01yXx2nNmIHQ,12620
8
+ bom/decorators.py,sha256=fCK-lxJTBp3LEdZtKMyQg5hRqxQm5RJny9eb7oyjbtE,1233
9
+ bom/form_fields.py,sha256=tLqchl0j8izBCZnm82NMyHpQV6EuGgCjCl5lrnGR2V0,2816
10
+ bom/forms.py,sha256=RUwiMKeaQkapBwz6JCi4Kkl4e5DlFAgSEMjytEDzmoE,69302
11
+ bom/helpers.py,sha256=ONsDM0agG9sKJWMjN4IRNlWx2HNF7T0CXM-ts0GRiAY,15031
12
+ bom/local_settings.py,sha256=wou7o2LeBhxuuQtPBufpG1PAir1P7O5hESrBvjM7Cxk,911
13
+ bom/models.py,sha256=gHXTH_JdudlOXPyHj3jUvaamn6nwklh3GJ_-qonsOks,37362
14
+ bom/part_bom.py,sha256=30HYAKAEhtadiM9tk6vgCQnn7gNJeuXbzF5gXvMvKG4,8720
15
+ bom/settings.py,sha256=Y5D4ooquT11u9NOAd1vRIVgIWAXhS2JhvdQl6zw07Ps,6755
16
+ bom/tests.py,sha256=ZqcTUYVXeWjAqzKAV6hp6SKTU0_IOTwIEboTujl7N_M,69905
17
+ bom/urls.py,sha256=-QB42G7juVcNCDMrFf1_NWLsmsSIRZXP5OK-RR4AbI0,6706
18
+ bom/utils.py,sha256=z_2jACSkRc0hsc0mdR8tOK10KiSDeM0a6rXIpztPDuA,7302
19
+ bom/validators.py,sha256=tiQYIblITCOwb8m1kfs_CFmFnJofCtFzqENlxBuGL7Y,872
20
+ bom/wsgi.py,sha256=-2oAfSSVdNFCjxaKXcPp-JL_K8AhVClzls6OC_ZI1Jc,380
21
+ bom/migrations/0001_initial.py,sha256=yzoGfeDM4NCpiV46puaHH663O-UdRHw8o-m7kP-DV0s,7005
22
+ bom/migrations/0002_auto_20180908_2151.py,sha256=_UCeo1iAKAPRopOoOuCiYjBkTQhKri_hj157k43efjg,753
23
+ bom/migrations/0003_sellerpart_data_source.py,sha256=vgACBfhmHPBC4pxDJlaW8AUAfxLZ4tmxfZuAYXSMDAc,414
24
+ bom/migrations/0004_auto_20180911_0011.py,sha256=ujMXUzDjGAWW63ncwYXVL4T-sGDZYzGIhhXJkPRM0HI,432
25
+ bom/migrations/0005_auto_20181007_1934.py,sha256=d4vCIaMTN6EX2uG5Z3z0_HhNkJIhRlKf2soBNvtFrgA,2402
26
+ bom/migrations/0006_auto_20181007_1949.py,sha256=5TS_A7jOipF_MPaoHNGGDkq_zgWtx0YdBmTnLIY0avE,1249
27
+ bom/migrations/0007_auto_20181009_0256.py,sha256=e-s5k7ftrTut58JgOCWCpZRJ290HtH9nT4QTeoAFnBc,569
28
+ bom/migrations/0008_auto_20181030_0427.py,sha256=KlxyShpI1GKP1IPUzwg7uP4P0RWb78UoYXoyIbt-5xI,570
29
+ bom/migrations/0009_subpart_reference.py,sha256=Jw1cAphGpz2F_y4A_EmhDc5Zqedrw2oq8s_6mHd8Hjc,404
30
+ bom/migrations/0010_auto_20181202_0733.py,sha256=PuCsIO6peJ5SER91DGrLhVY_90EUHSOOQnxEmDsQlUI,632
31
+ bom/migrations/0011_auto_20181202_2113.py,sha256=OWYRifpNULzM56PSVuL_Vd9YViVVugudDInLzdWjFl8,555
32
+ bom/migrations/0012_partchangehistory.py,sha256=Mm9U5jAylyvSMQE8TGr-IROauOZ0B8C3QHyCureoYag,1511
33
+ bom/migrations/0013_auto_20190222_1631.py,sha256=WqBge3uHZMWUYTYOD-DEy2TPH1k9OtI3nsXbwHmwMtI,472
34
+ bom/migrations/0014_auto_20190223_2353.py,sha256=N1jaNW47nb_tEneTqnps9gJccmYigeGhNnMJHTUSP_M,369
35
+ bom/migrations/0015_auto_20190303_1915.py,sha256=PIKz2LtpYghWBTAY6wLIWDQmNOsZ7pkmBaOgYmvY4VM,4673
36
+ bom/migrations/0016_auto_20190405_2308.py,sha256=3ssG9Bf5yHpHNLUDpo8tWVth60T432SephEoCPp0P7E,1800
37
+ bom/migrations/0017_auto_20190616_1912.py,sha256=lAoKaT7SGTmAcgKRyybOzo6rsPJwxhtGcQkxRRZ9EqQ,401
38
+ bom/migrations/0018_auto_20190616_2143.py,sha256=oNyoFF9Vtg6qLcexFDNULcMtqMlh8yjbZohCe_zPnqk,688
39
+ bom/migrations/0019_auto_20190624_1246.py,sha256=hB2u2bEzpQmLlU_8XBtzlrNaA13yykS1jZmD5SbyTOY,1590
40
+ bom/migrations/0020_auto_20190627_0207.py,sha256=3I6_tHZ1oX056dsqjlnR18Tq3J7qSCtDKYyUgpob8hQ,1147
41
+ bom/migrations/0021_auto_20190627_0428.py,sha256=wP6sfMyLWEglVZhhKbAWUqYy5TOVvrWbHKpPkPhSvQU,625
42
+ bom/migrations/0022_auto_20190811_2140.py,sha256=D3i_CDWK7xoSe2ZSR7Iry9ETn7rr_maQyr6KUgWkcdc,1025
43
+ bom/migrations/0023_auto_20191205_2351.py,sha256=VA9r9NezHN9NcUg2J2V98fo9Xcfzu4ohVFMxQgTNzwk,12891
44
+ bom/migrations/0024_auto_20191214_1342.py,sha256=4oHE8w7_DDHyyHxab3S05ysIk_5GcBGqVuUpDIZS0gs,5259
45
+ bom/migrations/0025_auto_20191221_1907.py,sha256=PF3s6gLPdGSk0Xuj34TBYZsTTRrU-71qWfLcisXKLeI,1888
46
+ bom/migrations/0026_auto_20191222_2258.py,sha256=U_TIBBmccMgYIhaVWeVEYdvFU_1ZhGORuGtEYzOOxcY,606
47
+ bom/migrations/0027_auto_20191222_2347.py,sha256=_RDQXgNdsOn55Mie5pTcFD_RSpukRiBMsbMU48URW_k,356
48
+ bom/migrations/0028_partrevision_displayable_synopsis.py,sha256=YujHJb42VKht6BP0THj3VjHS133T1D612M4zwplCLbs,3924
49
+ bom/migrations/0029_auto_20191231_1630.py,sha256=w3UA4YUxbt0qTCXNCr9fzjyr8C7dw4c6kMZruMKIqkw,890
50
+ bom/migrations/0030_auto_20200101_2253.py,sha256=9z9ex2icyhtbkUy18K2XYTuDzSER3Bz6bqoNlWwwgxY,543
51
+ bom/migrations/0031_auto_20200104_1352.py,sha256=d39S0fLxsCV6oKw44X__ts6Av1oW2T5NSPdSk-0Xhrc,2301
52
+ bom/migrations/0032_auto_20200126_1806.py,sha256=3A3itA4XqcnbdIVDsK2mJVzhLBs71Nxw4_z6DLLPP1s,678
53
+ bom/migrations/0033_auto_20200203_0618.py,sha256=NZPS-JAXQMyx9S0xtvE4rw_ZUfSl1cgeNbAvB4IIwv0,1061
54
+ bom/migrations/0034_auto_20200222_0359.py,sha256=HJEHqca-r7ZehRpIYEDwrTsqONv2HfsOwWROeHQpq7w,1176
55
+ bom/migrations/0035_auto_20200303_0111.py,sha256=Rr56XRV8NtT6rAsqwjwkS30P8S_4-rEz_BNOQ5mAx2k,1373
56
+ bom/migrations/0036_auto_20200303_0538.py,sha256=fl9WR0SUxTmcCPA8n7rVi0nItJMFv45nwIoaqIJZUZM,358
57
+ bom/migrations/0037_auto_20200405_1642.py,sha256=sErpvVRdTNtk3B-xdo-C9PHbnBuAKQChUFWtWdbCmeA,16574
58
+ bom/migrations/0038_auto_20200422_0504.py,sha256=h_MukHMOeac0P0aRKRwgx2LKH4lqDc_DNyLF945q2uo,572
59
+ bom/migrations/0039_auto_20200929_2315.py,sha256=_ee2sXZHUZMPd1nvMhq1hRmH-4T319paX-G9TFTaTwo,1586
60
+ bom/migrations/0040_alter_organization_currency.py,sha256=wRg9hVAF36RdUZB20P-msWeAxGaXePdh7c9kRjRQrQ4,10235
61
+ bom/migrations/0041_organization_subscription_quantity.py,sha256=o8hDoDdukg_vKI4SvHBLhfZb2AefmcuDe6ByOJF74RQ,409
62
+ bom/migrations/0042_auto_20210720_2137.py,sha256=l99WylpP3dN60th14SdQjh-eThbElehMbThYzLqokT8,717
63
+ bom/migrations/0043_auto_20211123_0157.py,sha256=rUAxfsk2AM6J_4ZO7t31KIYMMwQEEeMB8b_JevKqt0s,1064
64
+ bom/migrations/0044_auto_20220831_1241.py,sha256=A11APIc9pW8jHWm3Ebw1QRV613vxp1Btj3B0g8d1EUU,578
65
+ bom/migrations/0045_sellerpart_link.py,sha256=8c8GgHMYkbRMlDuBqUjD8xG7Ifai-xDscwkORWmHBzw,390
66
+ bom/migrations/0046_alter_sellerpart_unique_together.py,sha256=KcOwhf5Vh02wDq_Z3PKgBJOI_HCk_m1QQtISI0ZPCpQ,336
67
+ bom/migrations/0047_sellerpart_seller_part_number.py,sha256=QdjdWMNlSyLHB7uSTq_8xhPxnYAXR8yht-d_AsMvJBw,446
68
+ bom/migrations/0048_rename_part_organization_number_class_bom_part_organiz_b333d6_idx_and_more.py,sha256=rZ_mfd_xFu4BglhYxkNuQVqwThZ721kjrlCAn9LkNRo,50969
69
+ bom/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
+ bom/static/bom/css/dashboard.css,sha256=saLXUpnVRjsV9HNdsmQD4Eq-zBlm8R2YePhvoc1uifk,245
71
+ bom/static/bom/css/jquery.treetable.css,sha256=H37aGBAAFP3R6v08nui9gKSdLE2VGsGsmlttrIImzfE,652
72
+ bom/static/bom/css/materialize.min.css,sha256=OweaP_Ic6rsV-lysfyS4h-LM6sRwuO3euTYfr6M124g,141841
73
+ bom/static/bom/css/part-info.css,sha256=xQ6zJXHLStwU76UVoYxjG-MjdQzFRwg-jANqrj_KFS0,252
74
+ bom/static/bom/css/style.css,sha256=hAanZJJo7PdGudfM6lWAA-rOdlT8yP-jIqwi-pVyIr0,4444
75
+ bom/static/bom/css/tablesorter-theme.materialize.css,sha256=S7DYXb4vdqdDSUouZ8aIbAxIpemhIzFfeRySdnvvSlc,7435
76
+ bom/static/bom/css/treetable-theme.css,sha256=RxMklK-XfcF90gxekH3IULmyr7_HRA0TdNz_9Xjxuro,24013
77
+ bom/static/bom/doc/sample_part_classes.csv,sha256=nAWhBV9KtHSejLUKD7OKKtbkfUYCeLgCwze9BPstiFo,1694
78
+ bom/static/bom/doc/test_bom.csv,sha256=X0qpsC-sntO7-wCZmG403aMqfw5VLXEn0t27kEhE6Vw,203
79
+ bom/static/bom/doc/test_bom_5_intelligent.csv,sha256=h0GHqpUaIztBT9UUPvYGnpW8HFpXbR9xLCYb0kFdfTE,267
80
+ bom/static/bom/doc/test_full_bom.csv,sha256=JFCdYzm5nweyi-JzTBbAAbq3pg2CgZBBlVQLZ-dvF2I,5908
81
+ bom/static/bom/doc/test_new_parts.csv,sha256=ZDGx8DrxgrqH2bbgCdn0Lapm1eDp2z0yyQdmi-PWQy8,371
82
+ bom/static/bom/doc/test_new_parts_5_intelligent.csv,sha256=0H8gpjE-wJ091nW1Y3hAs1T8fVJ0qrrQP4037I2xXvY,380
83
+ bom/static/bom/img/_ionicons_svg_md-arrow-dropdown.svg,sha256=4wh479Go36xHl3TbfKRaeY9wFUOKqi92XgyWm3mSE2I,127
84
+ bom/static/bom/img/_ionicons_svg_md-arrow-dropright.svg,sha256=zznUpZt-uJamQubtVcUyrrNuzJ42HgYsGAuLq4Z5HFY,127
85
+ bom/static/bom/img/favicon.ico,sha256=16YNCPP6QZC_XwWCxTvLYiIkGcEMCHh8vMS2HTDgRU0,1150
86
+ bom/static/bom/img/google_drive_logo.svg,sha256=W_GF_XX9kvM7A_JiaLPL4wUlqbFNl_w76BLuZmrfxeM,1102
87
+ bom/static/bom/img/indabom.png,sha256=YU_1RGUbNfQpCcnPSkQS6PZY8mbcT3nibnZmRX2QZ18,42071
88
+ bom/static/bom/img/mouser.png,sha256=AUqNusUz-MSDCBoeYfOuklGycQDdShaTPguBd1AUir0,24809
89
+ bom/static/bom/img/octopart_blue.svg,sha256=Hr1HbJ50CX_ZRQTQcMLeRdzIjDhynwKzhq5JpS62IsI,1351
90
+ bom/static/bom/img/google/web/1x/btn_google_signin_dark_disabled_web.png,sha256=nde5HNwP8QPtfl02WFqtMCE17bpg9ctqdXrq13W5HFo,2308
91
+ bom/static/bom/img/google/web/1x/btn_google_signin_dark_focus_web.png,sha256=dTNDb6mf6MRCGfs0bMuAE42jC9ZVVDSVvDOwrWHR400,4185
92
+ bom/static/bom/img/google/web/1x/btn_google_signin_dark_normal_web.png,sha256=O5NF1vtnKSiTx6emEZ5G_vNXxoCTcyzqzEX2twDyQ7g,3983
93
+ bom/static/bom/img/google/web/1x/btn_google_signin_dark_pressed_web.png,sha256=NCai0rdg2yvnEnZT0hbXV45JnF598l_qH4YaVhCNfVs,4236
94
+ bom/static/bom/img/google/web/1x/btn_google_signin_light_disabled_web.png,sha256=nde5HNwP8QPtfl02WFqtMCE17bpg9ctqdXrq13W5HFo,2308
95
+ bom/static/bom/img/google/web/1x/btn_google_signin_light_focus_web.png,sha256=HoPDNi4MHlmMupekYH6F6WisqSIXjxLkwUaMQSHUrc8,4328
96
+ bom/static/bom/img/google/web/1x/btn_google_signin_light_normal_web.png,sha256=ug2zQ8lIS8RrajnJkBae6IDCBLDTIJ0g_O_YVa9t60k,4099
97
+ bom/static/bom/img/google/web/1x/btn_google_signin_light_pressed_web.png,sha256=y8vUwjBaWBtKckIKv7uVVerhCz_tp8feTFrXROg-hM0,4135
98
+ bom/static/bom/img/google/web/2x/btn_google_signin_dark_disabled_web@2x.png,sha256=QmOzmcT_NgU1L7M4dzqBtMNZyY_6Pr-JrlHfqsnn7r4,4897
99
+ bom/static/bom/img/google/web/2x/btn_google_signin_dark_focus_web@2x.png,sha256=kl_yVOixjy3kwp8qG9YRvluO71gEcu7D1coeRWUDyGs,8513
100
+ bom/static/bom/img/google/web/2x/btn_google_signin_dark_normal_web@2x.png,sha256=3Q-a7AKeU9OvJLLc3xnL-8q0ax8aZxHGFivTsZL_y0I,8001
101
+ bom/static/bom/img/google/web/2x/btn_google_signin_dark_pressed_web@2x.png,sha256=20p5OILHBMz5JTWjNCpiD1h0R_KbABeM5lmBVcqRbdw,8483
102
+ bom/static/bom/img/google/web/2x/btn_google_signin_light_disabled_web@2x.png,sha256=QmOzmcT_NgU1L7M4dzqBtMNZyY_6Pr-JrlHfqsnn7r4,4897
103
+ bom/static/bom/img/google/web/2x/btn_google_signin_light_focus_web@2x.png,sha256=OJ9LrQqv4E138ximdLd9FI_xG4neR-Vd73vSH51X3qI,8664
104
+ bom/static/bom/img/google/web/2x/btn_google_signin_light_normal_web@2x.png,sha256=GBHpUDDN3PUYuMLpT5r2LMIdg5v380fJm2mJ489YkyQ,8055
105
+ bom/static/bom/img/google/web/2x/btn_google_signin_light_pressed_web@2x.png,sha256=P1S5Rkb1MtA09NaoOiQ1VG_2pHR2vcJbCk4gi8fRSxM,8265
106
+ bom/static/bom/img/google/web/vector/btn_google_dark_disabled_ios.eps,sha256=6eqMvyqkm0DfXlJkAG4e_fT42f4MUMsT3bPQdCLDjgY,20286
107
+ bom/static/bom/img/google/web/vector/btn_google_dark_disabled_ios.svg,sha256=lAtIDLxAxGbtUDxDvaABxWEwQIcK7nvrJ8IW0L1HrOE,1996
108
+ bom/static/bom/img/google/web/vector/btn_google_dark_focus_ios.eps,sha256=LTqeKfbI2trwfgaKDFeWUANA-WVacHagOnqr05VnC5I,94048
109
+ bom/static/bom/img/google/web/vector/btn_google_dark_focus_ios.svg,sha256=Av1vhiDFmn4ScwxwzmlW6GgMm0cEV2j7_1xujNliMYE,4917
110
+ bom/static/bom/img/google/web/vector/btn_google_dark_normal_ios.eps,sha256=zp1hNh2VJYcAlXL6FskiWOW1w0ZlSl2DLWrd9ARwuV8,26465
111
+ bom/static/bom/img/google/web/vector/btn_google_dark_normal_ios.svg,sha256=OUCMtjQr3ZEyswF7yfva9TQAn4l3FMLbjjphZEv1VlQ,4779
112
+ bom/static/bom/img/google/web/vector/btn_google_dark_pressed_ios.eps,sha256=H_KYx7KaOcAv9WXwF8PHW9wFtAq3pG06a2AOTkZ30vQ,26484
113
+ bom/static/bom/img/google/web/vector/btn_google_dark_pressed_ios.svg,sha256=TDVDA40zpd7up0DyQ80zEzmTnf7Bd2eIJdRXuR2I_ds,4781
114
+ bom/static/bom/img/google/web/vector/btn_google_light_disabled_ios.eps,sha256=6eqMvyqkm0DfXlJkAG4e_fT42f4MUMsT3bPQdCLDjgY,20286
115
+ bom/static/bom/img/google/web/vector/btn_google_light_disabled_ios.svg,sha256=ZNsc0fGHEF8_W3k_ukvrm9n7aTgcwDZ_17O2Y33WoPg,1998
116
+ bom/static/bom/img/google/web/vector/btn_google_light_focus_ios.eps,sha256=9O7Bak7wDA6AxQ_0_BM8pAdO3YY1TnvG8-mhy3ubS8w,93663
117
+ bom/static/bom/img/google/web/vector/btn_google_light_focus_ios.svg,sha256=XZPXZStHtQr2eBmoLvlGSDgPgX_k4YMRfTEBwWR6KYs,4496
118
+ bom/static/bom/img/google/web/vector/btn_google_light_normal_ios.eps,sha256=xZ8gC5DOCSVA0lAILyuk0tZXHK6Xt9S8gspkc7DyNXc,26080
119
+ bom/static/bom/img/google/web/vector/btn_google_light_normal_ios.svg,sha256=Rk6WGzHe0lGJGEyWiN6lTusosfK8ubtqSdf0ZzuWLBE,4358
120
+ bom/static/bom/img/google/web/vector/btn_google_light_pressed_ios.eps,sha256=WUvJDjV62btGu5W1SkKE6juGMOHnA62JJ_0p8C_eOnw,26107
121
+ bom/static/bom/img/google/web/vector/btn_google_light_pressed_ios.svg,sha256=CR9QqAnt_NVL2YweEZe4fN6kQ6QQ31nZHxSmwqVs1t0,4360
122
+ bom/static/bom/js/jquery-3.4.1.min.js,sha256=CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo,88145
123
+ bom/static/bom/js/jquery.ba-floatingscrollbar.min.js,sha256=NptA5rS2zjhkcu26WQJtMr34psHYzUYRsLrSziTusgg,1271
124
+ bom/static/bom/js/jquery.treetable.js,sha256=JEXnh_LuKYxk8CUIT1anQ4es4nfOqC0bds_NjsbMBUI,16611
125
+ bom/static/bom/js/materialize.min.js,sha256=9aWZlbcIvNSnb4BWaUYlFNGylNeTWUL_yffW_3Dbk_o,181114
126
+ bom/templates/bom/account-delete.html,sha256=YjtG5o-sJHuK4Np3vyEliySF-eAwmFn0ROynDdvPMsU,728
127
+ bom/templates/bom/add-manufacturer-part.html,sha256=XXtaKBQPQkLFhK90LcMhJffMEQoaoTShGe_385VyCOg,3339
128
+ bom/templates/bom/add-sellerpart.html,sha256=i0_X4hlTX29B0nMDgojorkyB_jLrlaHKUhnAdM4FzOk,4376
129
+ bom/templates/bom/base-menu.html,sha256=KKgN4Ag3ehPR4fWo4Gz6H3KnhbF50kA4SERjdA-_IPQ,590
130
+ bom/templates/bom/base.html,sha256=pMoqT71X9FW1cGUAuOQvNuZqwcH3Z4_6nARt2JUapN8,5797
131
+ bom/templates/bom/bom-action-btn.html,sha256=ovaFLCOWvhVVwgmSo8nKuhvGmqc-oHrZJ7vlguqsFFc,1192
132
+ bom/templates/bom/bom-action-table.html,sha256=LhulURQzPuiBJoFK3unjqErwfgb7gFsGeshi1I-5zGk,3059
133
+ bom/templates/bom/bom-base-menu.html,sha256=PeViadG1PKyljvYfPyBFOKgqWhYHBM0tX5Teu5ha0FU,654
134
+ bom/templates/bom/bom-base.html,sha256=SvQOyg8ILULjnJKMaYv6Rf4wS8SNXXIjVY2nl5bm7B4,691
135
+ bom/templates/bom/bom-form-modal.html,sha256=LfNKk9rDEhS3oH7heMA33qHLYfyTIZ2Qbq05Wb55cQE,1394
136
+ bom/templates/bom/bom-form.html,sha256=1H9Og9WLEGk4nig8-dPOKdPGTyCJPuAZgKUfLITr7T8,1139
137
+ bom/templates/bom/bom-signup.html,sha256=QLMYBJwpljJfzkdCaUDO8LBR7RG8xOGLh-B4Q-Kv10s,299
138
+ bom/templates/bom/create-part.html,sha256=pYWPHHsNZOcINAQHvbY8NlMAJqDGWMY_ygFKsFoLIe8,3703
139
+ bom/templates/bom/dashboard-menu.html,sha256=4MnFSw0x4w7R0CsSwEDFP3FuZVBFxVChIHr58l3rpSk,799
140
+ bom/templates/bom/dashboard.html,sha256=F1QChBIuJGSLTzrX_9IIAE3VC0clG5Dg1l79GnDdJfo,16291
141
+ bom/templates/bom/edit-manufacturer-part.html,sha256=i1ZkoD9aRAX0p7qHgYmN02sXflYiJdfBjTYe-eIY3Kc,3615
142
+ bom/templates/bom/edit-part-class.html,sha256=BJAS8TpQmy6Mz3asqDzhuFVtqainYthA_D1fUrNXQp8,1523
143
+ bom/templates/bom/edit-part.html,sha256=SUToyTGsW30QNgB9NMQGr_cG2rm6ajvTByK72vL-n-M,3145
144
+ bom/templates/bom/edit-user-meta.html,sha256=QxMSgY6Jyb2032Z-EH4aQHPyjkdX6MxXPWS9ssHRmYU,1774
145
+ bom/templates/bom/help.html,sha256=em79kbuVfDrHS9w-zMKuDT9Vr8SNytrUsXD5lrtLrPY,83402
146
+ bom/templates/bom/manufacturer-info.html,sha256=CHA6eN1BDEf8xsZyjfKXGwcxJZ3mtPkCIxqOBUjTXEs,3842
147
+ bom/templates/bom/manufacturers.html,sha256=HbrGMXfGC4fvUMdpFa8b9Q9dgjbXBd7Z8wITE_gHtCg,5593
148
+ bom/templates/bom/nothing-to-see.html,sha256=cRspNAHlSfv7KjQwp34gANhVqQbXzfFpqtRSm6NoV9s,657
149
+ bom/templates/bom/organization-create.html,sha256=2187WvEx5I0HEVLMSNRHhIep0Rw9lrHsKiQ2KFR7sHc,7996
150
+ bom/templates/bom/part-info.html,sha256=okUMhvDTPQumt10NuwflWyalV0I1ZaczcoJtsWDI-zc,25536
151
+ bom/templates/bom/part-revision-display.html,sha256=t_wwzf910fhBc2vFjqoISnhX4OEr7pkfh8R-RGq_6ac,5509
152
+ bom/templates/bom/part-revision-edit.html,sha256=R0-SXZhEefvydsgKTH7zWtkyebj_JMQyQkDLbfj1xoc,1721
153
+ bom/templates/bom/part-revision-manage-bom.html,sha256=1GjGM-ywA2rVcMQ4_PHEqONKr66SGQnmqPl0UuXQrk8,5162
154
+ bom/templates/bom/part-revision-new.html,sha256=VIog9uwiRnqdURId0ZGnHF_m4av9rVXZPjqONkP_yVs,2788
155
+ bom/templates/bom/part-revision-release.html,sha256=HqzAw-qYo0Bj7cFo6jpqZdYdYOKVVp1dn3Qn2ASbGBI,2275
156
+ bom/templates/bom/search-help.html,sha256=uEzc0232wvCslmDNnq3KcsbrVaN3XipfoAiZtyK5Qd8,4516
157
+ bom/templates/bom/seller-info.html,sha256=3c3e3LJq2cvxROeaD_QErHYFwb5fauwtMPEYSZQKihs,3695
158
+ bom/templates/bom/sellers.html,sha256=rpCPt3gIn4xqQPPv-fB9i0OzUVLt1pK-xJ7epaFpD4U,5455
159
+ bom/templates/bom/settings.html,sha256=bGHYdjGkgXJpZpgr-LRGtEBFbLC3ECbO0L2z0OLHBYY,26795
160
+ bom/templates/bom/signup.html,sha256=Rj7UU_UGjghfQwIZJGxU1a6A-nZiZs8bzZkB5kJa91U,888
161
+ bom/templates/bom/table_of_contents.html,sha256=7wXWOfmVkk5Itjax5x1PE-g5QjxqmYBr7RW8NgtGRng,1763
162
+ bom/templates/bom/upload-bom.html,sha256=iqUbP-fb44B6WWcHyQjt1NNlp04qlYJKX0UD465mhYA,5315
163
+ bom/templates/bom/upload-parts-help.html,sha256=MBSXI65rMtcuKEM4UxRa2-4EO3X4LLkaoYpsIikcXbs,5574
164
+ bom/templates/bom/upload-parts.html,sha256=AXihYOoJ3PD5TCkN2_N6iWhn8tAYqdBL1fLxLeSpiag,2409
165
+ bom/templates/bom/components/bom-flat.html,sha256=_8Crtg_NpozwJxs91JXpDlhx5zqCdZVSZrng3hhAOeE,7633
166
+ bom/templates/bom/components/bom-indented.html,sha256=Fnwp3nQbFg5Dpco1XMlAQqP_URn4BlLg4tp6JVUHx6k,13215
167
+ bom/templates/bom/components/manufacturer-part-list.html,sha256=uiB6FZzMcbqhIDWztejul1wiOMzHdz-47ldfUtUkBxo,16366
168
+ bom/templates/bom/components/seller-part-list.html,sha256=Yi6dKRVBvfmXk-QKLvMrPRjqx83QIK2pjZY52QK7h34,3093
169
+ bom/templates/registration/login.html,sha256=IPqipDds2Xrpg7uRNgd3grGZU29x7NMBg59jpno925M,1095
170
+ bom/third_party_apis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
171
+ bom/third_party_apis/base_api.py,sha256=0ZXLsn6ZGlcnfmS80ndZfHUDrXwNqod5ANCYHRLw5M0,1838
172
+ bom/third_party_apis/google_drive.py,sha256=8ECE9_8f1KAyNTtkalws-Gl51wxAaTLP40bD5OWsZx4,6495
173
+ bom/third_party_apis/mouser.py,sha256=q2-p0k2n-LNel_QRlfak0kAXT-9hh59k_Pt51PTG09s,5576
174
+ bom/third_party_apis/test_apis.py,sha256=2W0jtTisGTmktC7l556pn9-pZYseTQmmQfo6_4uP4Dc,679
175
+ bom/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
176
+ bom/views/json_views.py,sha256=CaDMxHGnp2182ZV9QZfNkgM7tc_rNmokkelav9rF2dE,2462
177
+ bom/views/views.py,sha256=Fi3shpOhGaK-RNubngqcyXGzb74x4iwqDexPxMES6tE,71666
178
+ django_bom-1.235.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
179
+ django_bom-1.235.dist-info/METADATA,sha256=ErBcwoQoKEDr2DNf3VEm6uKtjDt2wJZDoOw7p3jO0qg,7583
180
+ django_bom-1.235.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
181
+ django_bom-1.235.dist-info/top_level.txt,sha256=6zytg4lnnobI96dO-ZEadPOCslrrFmf4t2Pnv-y8x0Y,4
182
+ django_bom-1.235.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+