Skip to content

Commit 96f5b9e

Browse files
committed
Adds package structure documentation generator
1 parent 3d290de commit 96f5b9e

File tree

3 files changed

+557
-0
lines changed

3 files changed

+557
-0
lines changed
Lines changed: 249 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,249 @@
1+
# Package Structure (full)
2+
3+
```
4+
📦 easydiffraction
5+
├── 📁 analysis
6+
│ ├── 📁 calculators
7+
│ │ ├── 📄 __init__.py
8+
│ │ ├── 📄 calculator_base.py
9+
│ │ │ └── 🏷️ class CalculatorBase
10+
│ │ ├── 📄 calculator_crysfml.py
11+
│ │ │ └── 🏷️ class CrysfmlCalculator
12+
│ │ ├── 📄 calculator_cryspy.py
13+
│ │ │ └── 🏷️ class CryspyCalculator
14+
│ │ ├── 📄 calculator_factory.py
15+
│ │ │ └── 🏷️ class CalculatorFactory
16+
│ │ └── 📄 calculator_pdffit.py
17+
│ │ └── 🏷️ class PdffitCalculator
18+
│ ├── 📁 category_collections
19+
│ │ ├── 📄 __init__.py
20+
│ │ ├── 📄 aliases.py
21+
│ │ │ ├── 🏷️ class Alias
22+
│ │ │ └── 🏷️ class Aliases
23+
│ │ ├── 📄 constraints.py
24+
│ │ │ ├── 🏷️ class Constraint
25+
│ │ │ └── 🏷️ class Constraints
26+
│ │ └── 📄 joint_fit_experiments.py
27+
│ │ ├── 🏷️ class JointFitExperiment
28+
│ │ └── 🏷️ class JointFitExperiments
29+
│ ├── 📁 fitting
30+
│ │ ├── 📄 __init__.py
31+
│ │ ├── 📄 metrics.py
32+
│ │ ├── 📄 progress_tracker.py
33+
│ │ │ └── 🏷️ class FittingProgressTracker
34+
│ │ └── 📄 results.py
35+
│ │ └── 🏷️ class FitResults
36+
│ ├── 📁 minimizers
37+
│ │ ├── 📄 __init__.py
38+
│ │ ├── 📄 minimizer_base.py
39+
│ │ │ └── 🏷️ class MinimizerBase
40+
│ │ ├── 📄 minimizer_dfols.py
41+
│ │ │ └── 🏷️ class DfolsMinimizer
42+
│ │ ├── 📄 minimizer_factory.py
43+
│ │ │ └── 🏷️ class MinimizerFactory
44+
│ │ └── 📄 minimizer_lmfit.py
45+
│ │ └── 🏷️ class LmfitMinimizer
46+
│ ├── 📄 __init__.py
47+
│ ├── 📄 analysis.py
48+
│ │ └── 🏷️ class Analysis
49+
│ ├── 📄 calculation.py
50+
│ │ └── 🏷️ class DiffractionCalculator
51+
│ └── 📄 minimization.py
52+
│ └── 🏷️ class DiffractionMinimizer
53+
├── 📁 core
54+
│ ├── 📄 __init__.py
55+
│ ├── 📄 categories.py
56+
│ │ ├── 🏷️ class CategoryItem
57+
│ │ └── 🏷️ class CategoryCollection
58+
│ ├── 📄 collections.py
59+
│ │ └── 🏷️ class CollectionBase
60+
│ ├── 📄 datablocks.py
61+
│ │ ├── 🏷️ class DatablockItem
62+
│ │ └── 🏷️ class DatablockCollection
63+
│ ├── 📄 diagnostics.py
64+
│ │ └── 🏷️ class Diagnostics
65+
│ ├── 📄 guards.py
66+
│ │ └── 🏷️ class GuardedBase
67+
│ ├── 📄 identity.py
68+
│ │ └── 🏷️ class Identity
69+
│ ├── 📄 parameters.py
70+
│ │ ├── 🏷️ class GenericDescriptorBase
71+
│ │ ├── 🏷️ class GenericDescriptorStr
72+
│ │ ├── 🏷️ class GenericDescriptorFloat
73+
│ │ ├── 🏷️ class GenericParameter
74+
│ │ ├── 🏷️ class DescriptorStr
75+
│ │ ├── 🏷️ class DescriptorFloat
76+
│ │ └── 🏷️ class Parameter
77+
│ ├── 📄 singletons.py
78+
│ │ ├── 🏷️ class BaseSingleton
79+
│ │ ├── 🏷️ class UidMapHandler
80+
│ │ └── 🏷️ class ConstraintsHandler
81+
│ └── 📄 validation.py
82+
│ ├── 🏷️ class DataTypes
83+
│ ├── 🏷️ class ValidationStage
84+
│ ├── 🏷️ class BaseValidator
85+
│ ├── 🏷️ class TypeValidator
86+
│ ├── 🏷️ class RangeValidator
87+
│ ├── 🏷️ class MembershipValidator
88+
│ ├── 🏷️ class RegexValidator
89+
│ └── 🏷️ class AttributeSpec
90+
├── 📁 crystallography
91+
│ ├── 📄 __init__.py
92+
│ ├── 📄 crystallography.py
93+
│ └── 📄 space_groups.py
94+
├── 📁 experiments
95+
│ ├── 📁 category_collections
96+
│ │ ├── 📁 background_types
97+
│ │ │ ├── 📄 __init__.py
98+
│ │ │ ├── 📄 base.py
99+
│ │ │ │ └── 🏷️ class BackgroundBase
100+
│ │ │ ├── 📄 chebyshev.py
101+
│ │ │ │ ├── 🏷️ class PolynomialTerm
102+
│ │ │ │ └── 🏷️ class ChebyshevPolynomialBackground
103+
│ │ │ ├── 📄 enums.py
104+
│ │ │ │ └── 🏷️ class BackgroundTypeEnum
105+
│ │ │ └── 📄 line_segment.py
106+
│ │ │ ├── 🏷️ class Point
107+
│ │ │ └── 🏷️ class LineSegmentBackground
108+
│ │ ├── 📄 __init__.py
109+
│ │ ├── 📄 background.py
110+
│ │ │ └── 🏷️ class BackgroundFactory
111+
│ │ ├── 📄 excluded_regions.py
112+
│ │ │ ├── 🏷️ class ExcludedRegion
113+
│ │ │ └── 🏷️ class ExcludedRegions
114+
│ │ └── 📄 linked_phases.py
115+
│ │ ├── 🏷️ class LinkedPhase
116+
│ │ └── 🏷️ class LinkedPhases
117+
│ ├── 📁 category_items
118+
│ │ ├── 📁 instrument_setups
119+
│ │ │ ├── 📄 __init__.py
120+
│ │ │ ├── 📄 base.py
121+
│ │ │ │ └── 🏷️ class InstrumentBase
122+
│ │ │ ├── 📄 cw.py
123+
│ │ │ │ └── 🏷️ class ConstantWavelengthInstrument
124+
│ │ │ └── 📄 tof.py
125+
│ │ │ └── 🏷️ class TimeOfFlightInstrument
126+
│ │ ├── 📁 peak_profiles
127+
│ │ │ ├── 📄 __init__.py
128+
│ │ │ ├── 📄 base.py
129+
│ │ │ │ └── 🏷️ class PeakBase
130+
│ │ │ ├── 📄 cw.py
131+
│ │ │ │ ├── 🏷️ class ConstantWavelengthPseudoVoigt
132+
│ │ │ │ ├── 🏷️ class ConstantWavelengthSplitPseudoVoigt
133+
│ │ │ │ └── 🏷️ class ConstantWavelengthThompsonCoxHastings
134+
│ │ │ ├── 📄 cw_mixins.py
135+
│ │ │ │ ├── 🏷️ class ConstantWavelengthBroadeningMixin
136+
│ │ │ │ ├── 🏷️ class EmpiricalAsymmetryMixin
137+
│ │ │ │ └── 🏷️ class FcjAsymmetryMixin
138+
│ │ │ ├── 📄 pdf.py
139+
│ │ │ │ └── 🏷️ class PairDistributionFunctionGaussianDampedSinc
140+
│ │ │ ├── 📄 pdf_mixins.py
141+
│ │ │ │ └── 🏷️ class PairDistributionFunctionBroadeningMixin
142+
│ │ │ ├── 📄 tof.py
143+
│ │ │ │ ├── 🏷️ class TimeOfFlightPseudoVoigt
144+
│ │ │ │ ├── 🏷️ class TimeOfFlightPseudoVoigtIkedaCarpenter
145+
│ │ │ │ └── 🏷️ class TimeOfFlightPseudoVoigtBackToBack
146+
│ │ │ └── 📄 tof_mixins.py
147+
│ │ │ ├── 🏷️ class TimeOfFlightBroadeningMixin
148+
│ │ │ └── 🏷️ class IkedaCarpenterAsymmetryMixin
149+
│ │ ├── 📄 __init__.py
150+
│ │ ├── 📄 experiment_type.py
151+
│ │ │ └── 🏷️ class ExperimentType
152+
│ │ ├── 📄 instrument.py
153+
│ │ │ └── 🏷️ class InstrumentFactory
154+
│ │ └── 📄 peak.py
155+
│ │ └── 🏷️ class PeakFactory
156+
│ ├── 📁 datastore_types
157+
│ │ ├── 📄 __init__.py
158+
│ │ ├── 📄 base.py
159+
│ │ │ └── 🏷️ class BaseDatastore
160+
│ │ ├── 📄 pd.py
161+
│ │ │ └── 🏷️ class PowderDatastore
162+
│ │ └── 📄 sg.py
163+
│ │ └── 🏷️ class SingleCrystalDatastore
164+
│ ├── 📁 experiment_types
165+
│ │ ├── 📄 __init__.py
166+
│ │ ├── 📄 base.py
167+
│ │ │ ├── 🏷️ class BaseExperiment
168+
│ │ │ └── 🏷️ class BasePowderExperiment
169+
│ │ ├── 📄 enums.py
170+
│ │ │ ├── 🏷️ class SampleFormEnum
171+
│ │ │ ├── 🏷️ class ScatteringTypeEnum
172+
│ │ │ ├── 🏷️ class RadiationProbeEnum
173+
│ │ │ ├── 🏷️ class BeamModeEnum
174+
│ │ │ └── 🏷️ class PeakProfileTypeEnum
175+
│ │ ├── 📄 instrument_mixin.py
176+
│ │ │ └── 🏷️ class InstrumentMixin
177+
│ │ ├── 📄 pdf.py
178+
│ │ │ └── 🏷️ class PairDistributionFunctionExperiment
179+
│ │ ├── 📄 powder.py
180+
│ │ │ └── 🏷️ class PowderExperiment
181+
│ │ └── 📄 single_crystal.py
182+
│ │ └── 🏷️ class SingleCrystalExperiment
183+
│ ├── 📄 __init__.py
184+
│ ├── 📄 datastore.py
185+
│ │ └── 🏷️ class DatastoreFactory
186+
│ ├── 📄 experiment.py
187+
│ │ ├── 🏷️ class ExperimentFactory
188+
│ │ └── 🏷️ class Experiment
189+
│ └── 📄 experiments.py
190+
│ └── 🏷️ class Experiments
191+
├── 📁 io
192+
│ └── 📁 cif
193+
│ ├── 📄 handler.py
194+
│ │ └── 🏷️ class CifHandler
195+
│ └── 📄 serialize.py
196+
├── 📁 plotting
197+
│ ├── 📁 plotters
198+
│ │ ├── 📄 __init__.py
199+
│ │ ├── 📄 plotter_ascii.py
200+
│ │ │ └── 🏷️ class AsciiPlotter
201+
│ │ ├── 📄 plotter_base.py
202+
│ │ │ └── 🏷️ class PlotterBase
203+
│ │ └── 📄 plotter_plotly.py
204+
│ │ └── 🏷️ class PlotlyPlotter
205+
│ ├── 📄 __init__.py
206+
│ └── 📄 plotting.py
207+
│ ├── 🏷️ class Plotter
208+
│ └── 🏷️ class PlotterFactory
209+
├── 📁 project
210+
│ ├── 📄 __init__.py
211+
│ ├── 📄 project.py
212+
│ │ └── 🏷️ class Project
213+
│ └── 📄 project_info.py
214+
│ └── 🏷️ class ProjectInfo
215+
├── 📁 sample_models
216+
│ ├── 📁 category_collections
217+
│ │ ├── 📄 __init__.py
218+
│ │ └── 📄 atom_sites.py
219+
│ │ ├── 🏷️ class AtomSite
220+
│ │ └── 🏷️ class AtomSites
221+
│ ├── 📁 category_items
222+
│ │ ├── 📄 __init__.py
223+
│ │ ├── 📄 cell.py
224+
│ │ │ └── 🏷️ class Cell
225+
│ │ └── 📄 space_group.py
226+
│ │ └── 🏷️ class SpaceGroup
227+
│ ├── 📁 sample_model_types
228+
│ │ ├── 📄 __init__.py
229+
│ │ └── 📄 base.py
230+
│ │ └── 🏷️ class BaseSampleModel
231+
│ ├── 📄 __init__.py
232+
│ ├── 📄 sample_model.py
233+
│ │ ├── 🏷️ class SampleModelFactory
234+
│ │ └── 🏷️ class SampleModel
235+
│ └── 📄 sample_models.py
236+
│ └── 🏷️ class SampleModels
237+
├── 📁 summary
238+
│ ├── 📄 __init__.py
239+
│ └── 📄 summary.py
240+
│ └── 🏷️ class Summary
241+
├── 📁 utils
242+
│ ├── 📄 __init__.py
243+
│ ├── 📄 formatting.py
244+
│ ├── 📄 logging.py
245+
│ │ └── 🏷️ class Logger
246+
│ └── 📄 utils.py
247+
├── 📄 __init__.py
248+
└── 📄 __main__.py
249+
```
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
# Package Structure (short)
2+
3+
```
4+
📦 easydiffraction
5+
├── 📁 analysis
6+
│ ├── 📁 calculators
7+
│ │ ├── 📄 __init__.py
8+
│ │ ├── 📄 calculator_base.py
9+
│ │ ├── 📄 calculator_crysfml.py
10+
│ │ ├── 📄 calculator_cryspy.py
11+
│ │ ├── 📄 calculator_factory.py
12+
│ │ └── 📄 calculator_pdffit.py
13+
│ ├── 📁 category_collections
14+
│ │ ├── 📄 __init__.py
15+
│ │ ├── 📄 aliases.py
16+
│ │ ├── 📄 constraints.py
17+
│ │ └── 📄 joint_fit_experiments.py
18+
│ ├── 📁 fitting
19+
│ │ ├── 📄 __init__.py
20+
│ │ ├── 📄 metrics.py
21+
│ │ ├── 📄 progress_tracker.py
22+
│ │ └── 📄 results.py
23+
│ ├── 📁 minimizers
24+
│ │ ├── 📄 __init__.py
25+
│ │ ├── 📄 minimizer_base.py
26+
│ │ ├── 📄 minimizer_dfols.py
27+
│ │ ├── 📄 minimizer_factory.py
28+
│ │ └── 📄 minimizer_lmfit.py
29+
│ ├── 📄 __init__.py
30+
│ ├── 📄 analysis.py
31+
│ ├── 📄 calculation.py
32+
│ └── 📄 minimization.py
33+
├── 📁 core
34+
│ ├── 📄 __init__.py
35+
│ ├── 📄 categories.py
36+
│ ├── 📄 collections.py
37+
│ ├── 📄 datablocks.py
38+
│ ├── 📄 diagnostics.py
39+
│ ├── 📄 guards.py
40+
│ ├── 📄 identity.py
41+
│ ├── 📄 parameters.py
42+
│ ├── 📄 singletons.py
43+
│ └── 📄 validation.py
44+
├── 📁 crystallography
45+
│ ├── 📄 __init__.py
46+
│ ├── 📄 crystallography.py
47+
│ └── 📄 space_groups.py
48+
├── 📁 experiments
49+
│ ├── 📁 category_collections
50+
│ │ ├── 📁 background_types
51+
│ │ │ ├── 📄 __init__.py
52+
│ │ │ ├── 📄 base.py
53+
│ │ │ ├── 📄 chebyshev.py
54+
│ │ │ ├── 📄 enums.py
55+
│ │ │ └── 📄 line_segment.py
56+
│ │ ├── 📄 __init__.py
57+
│ │ ├── 📄 background.py
58+
│ │ ├── 📄 excluded_regions.py
59+
│ │ └── 📄 linked_phases.py
60+
│ ├── 📁 category_items
61+
│ │ ├── 📁 instrument_setups
62+
│ │ │ ├── 📄 __init__.py
63+
│ │ │ ├── 📄 base.py
64+
│ │ │ ├── 📄 cw.py
65+
│ │ │ └── 📄 tof.py
66+
│ │ ├── 📁 peak_profiles
67+
│ │ │ ├── 📄 __init__.py
68+
│ │ │ ├── 📄 base.py
69+
│ │ │ ├── 📄 cw.py
70+
│ │ │ ├── 📄 cw_mixins.py
71+
│ │ │ ├── 📄 pdf.py
72+
│ │ │ ├── 📄 pdf_mixins.py
73+
│ │ │ ├── 📄 tof.py
74+
│ │ │ └── 📄 tof_mixins.py
75+
│ │ ├── 📄 __init__.py
76+
│ │ ├── 📄 experiment_type.py
77+
│ │ ├── 📄 instrument.py
78+
│ │ └── 📄 peak.py
79+
│ ├── 📁 datastore_types
80+
│ │ ├── 📄 __init__.py
81+
│ │ ├── 📄 base.py
82+
│ │ ├── 📄 pd.py
83+
│ │ └── 📄 sg.py
84+
│ ├── 📁 experiment_types
85+
│ │ ├── 📄 __init__.py
86+
│ │ ├── 📄 base.py
87+
│ │ ├── 📄 enums.py
88+
│ │ ├── 📄 instrument_mixin.py
89+
│ │ ├── 📄 pdf.py
90+
│ │ ├── 📄 powder.py
91+
│ │ └── 📄 single_crystal.py
92+
│ ├── 📄 __init__.py
93+
│ ├── 📄 datastore.py
94+
│ ├── 📄 experiment.py
95+
│ └── 📄 experiments.py
96+
├── 📁 io
97+
│ └── 📁 cif
98+
│ ├── 📄 handler.py
99+
│ └── 📄 serialize.py
100+
├── 📁 plotting
101+
│ ├── 📁 plotters
102+
│ │ ├── 📄 __init__.py
103+
│ │ ├── 📄 plotter_ascii.py
104+
│ │ ├── 📄 plotter_base.py
105+
│ │ └── 📄 plotter_plotly.py
106+
│ ├── 📄 __init__.py
107+
│ └── 📄 plotting.py
108+
├── 📁 project
109+
│ ├── 📄 __init__.py
110+
│ ├── 📄 project.py
111+
│ └── 📄 project_info.py
112+
├── 📁 sample_models
113+
│ ├── 📁 category_collections
114+
│ │ ├── 📄 __init__.py
115+
│ │ └── 📄 atom_sites.py
116+
│ ├── 📁 category_items
117+
│ │ ├── 📄 __init__.py
118+
│ │ ├── 📄 cell.py
119+
│ │ └── 📄 space_group.py
120+
│ ├── 📁 sample_model_types
121+
│ │ ├── 📄 __init__.py
122+
│ │ └── 📄 base.py
123+
│ ├── 📄 __init__.py
124+
│ ├── 📄 sample_model.py
125+
│ └── 📄 sample_models.py
126+
├── 📁 summary
127+
│ ├── 📄 __init__.py
128+
│ └── 📄 summary.py
129+
├── 📁 utils
130+
│ ├── 📄 __init__.py
131+
│ ├── 📄 formatting.py
132+
│ ├── 📄 logging.py
133+
│ └── 📄 utils.py
134+
├── 📄 __init__.py
135+
└── 📄 __main__.py
136+
```

0 commit comments

Comments
 (0)