kundali-chart-mcp 0.2.4 → 0.2.6

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 (88) hide show
  1. package/README.md +60 -43
  2. package/azure-function/flatlib/LICENSE +22 -0
  3. package/azure-function/flatlib/MANIFEST.in +2 -0
  4. package/azure-function/flatlib/README.md +31 -0
  5. package/azure-function/flatlib/README.rst +47 -0
  6. package/azure-function/flatlib/docs/Makefile +195 -0
  7. package/azure-function/flatlib/docs/README.md +37 -0
  8. package/azure-function/flatlib/docs/make.bat +263 -0
  9. package/azure-function/flatlib/docs/source/_static/python-interpreter-osx.png +0 -0
  10. package/azure-function/flatlib/docs/source/_static/python-interpreter-win32.png +0 -0
  11. package/azure-function/flatlib/docs/source/_static/xcode-command-line-tools.png +0 -0
  12. package/azure-function/flatlib/docs/source/conf.py +286 -0
  13. package/azure-function/flatlib/docs/source/faq.rst +49 -0
  14. package/azure-function/flatlib/docs/source/index.rst +23 -0
  15. package/azure-function/flatlib/docs/source/installation.rst +87 -0
  16. package/azure-function/flatlib/docs/source/tutorials/chart-properties.rst +196 -0
  17. package/azure-function/flatlib/docs/source/tutorials/create-chart.rst +129 -0
  18. package/azure-function/flatlib/docs/source/tutorials/index.rst +9 -0
  19. package/azure-function/flatlib/docs/source/tutorials/intro-python.rst +168 -0
  20. package/azure-function/flatlib/flatlib/__init__.py +14 -0
  21. package/azure-function/flatlib/flatlib/angle.py +127 -0
  22. package/azure-function/flatlib/flatlib/aspects.py +330 -0
  23. package/azure-function/flatlib/flatlib/chart.py +185 -0
  24. package/azure-function/flatlib/flatlib/const.py +308 -0
  25. package/azure-function/flatlib/flatlib/datetime.py +212 -0
  26. package/azure-function/flatlib/flatlib/dignities/__init__.py +9 -0
  27. package/azure-function/flatlib/flatlib/dignities/accidental.py +482 -0
  28. package/azure-function/flatlib/flatlib/dignities/essential.py +219 -0
  29. package/azure-function/flatlib/flatlib/dignities/tables.py +495 -0
  30. package/azure-function/flatlib/flatlib/ephem/__init__.py +23 -0
  31. package/azure-function/flatlib/flatlib/ephem/eph.py +189 -0
  32. package/azure-function/flatlib/flatlib/ephem/ephem.py +211 -0
  33. package/azure-function/flatlib/flatlib/ephem/swe.py +327 -0
  34. package/azure-function/flatlib/flatlib/ephem/tools.py +107 -0
  35. package/azure-function/flatlib/flatlib/geopos.py +93 -0
  36. package/azure-function/flatlib/flatlib/lists.py +106 -0
  37. package/azure-function/flatlib/flatlib/object.py +268 -0
  38. package/azure-function/flatlib/flatlib/predictives/__init__.py +9 -0
  39. package/azure-function/flatlib/flatlib/predictives/primarydirections.py +336 -0
  40. package/azure-function/flatlib/flatlib/predictives/profections.py +44 -0
  41. package/azure-function/flatlib/flatlib/predictives/returns.py +44 -0
  42. package/azure-function/flatlib/flatlib/props.py +357 -0
  43. package/azure-function/flatlib/flatlib/protocols/__init__.py +9 -0
  44. package/azure-function/flatlib/flatlib/protocols/almutem.py +117 -0
  45. package/azure-function/flatlib/flatlib/protocols/behavior.py +69 -0
  46. package/azure-function/flatlib/flatlib/protocols/temperament.py +271 -0
  47. package/azure-function/flatlib/flatlib/resources/README.md +3 -0
  48. package/azure-function/flatlib/flatlib/resources/swefiles/fixstars.cat +1138 -0
  49. package/azure-function/flatlib/flatlib/resources/swefiles/seas_12.se1 +0 -0
  50. package/azure-function/flatlib/flatlib/resources/swefiles/seas_18.se1 +0 -0
  51. package/azure-function/flatlib/flatlib/resources/swefiles/seas_24.se1 +0 -0
  52. package/azure-function/flatlib/flatlib/resources/swefiles/semo_12.se1 +0 -0
  53. package/azure-function/flatlib/flatlib/resources/swefiles/semo_18.se1 +0 -0
  54. package/azure-function/flatlib/flatlib/resources/swefiles/semo_24.se1 +0 -0
  55. package/azure-function/flatlib/flatlib/resources/swefiles/sepl_12.se1 +0 -0
  56. package/azure-function/flatlib/flatlib/resources/swefiles/sepl_18.se1 +0 -0
  57. package/azure-function/flatlib/flatlib/resources/swefiles/sepl_24.se1 +0 -0
  58. package/azure-function/flatlib/flatlib/tools/__init__.py +9 -0
  59. package/azure-function/flatlib/flatlib/tools/arabicparts.py +184 -0
  60. package/azure-function/flatlib/flatlib/tools/chartdynamics.py +152 -0
  61. package/azure-function/flatlib/flatlib/tools/planetarytime.py +182 -0
  62. package/azure-function/flatlib/flatlib/utils.py +76 -0
  63. package/azure-function/flatlib/recipes/README.md +3 -0
  64. package/azure-function/flatlib/recipes/accidentaldignities.py +59 -0
  65. package/azure-function/flatlib/recipes/almutem.py +25 -0
  66. package/azure-function/flatlib/recipes/arabicparts.py +24 -0
  67. package/azure-function/flatlib/recipes/aspects.py +28 -0
  68. package/azure-function/flatlib/recipes/behavior.py +25 -0
  69. package/azure-function/flatlib/recipes/chartdynamics.py +45 -0
  70. package/azure-function/flatlib/recipes/eclipses.py +23 -0
  71. package/azure-function/flatlib/recipes/essentialdignities.py +34 -0
  72. package/azure-function/flatlib/recipes/leapyears.py +70 -0
  73. package/azure-function/flatlib/recipes/planetarytime.py +29 -0
  74. package/azure-function/flatlib/recipes/primarydirections.py +51 -0
  75. package/azure-function/flatlib/recipes/profections.py +28 -0
  76. package/azure-function/flatlib/recipes/siderealzodiac.py +22 -0
  77. package/azure-function/flatlib/recipes/solarreturn.py +34 -0
  78. package/azure-function/flatlib/recipes/solaryears.py +61 -0
  79. package/azure-function/flatlib/recipes/temperament.py +37 -0
  80. package/azure-function/flatlib/requirements.txt +1 -0
  81. package/azure-function/flatlib/scripts/build.py +51 -0
  82. package/azure-function/flatlib/scripts/clean.py +9 -0
  83. package/azure-function/flatlib/scripts/utils.py +51 -0
  84. package/azure-function/flatlib/setup.py +49 -0
  85. package/azure-function/flatlib/tests/test_chart.py +19 -0
  86. package/azure-function/function_app.py +43 -13
  87. package/azure-function/requirements.txt +3 -3
  88. package/package.json +2 -2
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # 🪔 Kundali Chart MCP
2
2
 
3
- **The most comprehensive Vedic Astrology MCP server — 48 tools, zero dependencies.**
3
+ **The most comprehensive Vedic Astrology MCP server — 48 tools, zero setup.**
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/kundali-chart-mcp?color=orange)](https://www.npmjs.com/package/kundali-chart-mcp)
6
6
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
@@ -12,36 +12,53 @@
12
12
  ## 🚀 Quick Start
13
13
 
14
14
  ```bash
15
- npm install -g kundali-chart-mcp
16
- kundali-chart-mcp-setup
15
+ npx kundali-chart-mcp
17
16
  ```
18
17
 
19
- Then restart your IDE. That's it.
18
+ That's it. The server connects to a hosted backend — no Python, no dependencies, no configuration.
19
+
20
+ ### Auto-setup (recommended)
21
+
22
+ ```bash
23
+ npx kundali-chart-mcp-setup
24
+ ```
25
+
26
+ This automatically configures Kundali Chart MCP for Claude Desktop, Cursor, VS Code, Windsurf, and Zed. Restart your IDE after running.
27
+
28
+ ---
20
29
 
21
30
  ## 💬 Try This
22
31
 
23
32
  > *"Generate a kundali chart for someone born on 15 August 1990 at 6:30 AM in Mumbai, India"*
24
33
 
34
+ > *"What doshas are present in my chart? Born 6 Nov 2002, 12:05 PM, Bareilly"*
35
+
36
+ > *"Show me my Vimshottari Dasha periods"*
37
+
38
+ > *"Check compatibility between these two charts..."*
39
+
25
40
  ---
26
41
 
27
42
  ## ✨ Features
28
43
 
29
- - **48 astrology tools** — Charts, doshas, yogas, dasha, transits, compatibility, muhurta
30
- - **Zero setup** — No Python, no files, no configuration
44
+ - **48 astrology tools** — Charts, doshas, yogas, dasha, transits, compatibility, muhurta, and more
45
+ - **Zero setup** — No Python, no files, no configuration needed
31
46
  - **AI-ready** — Works with Claude, Cursor, ChatGPT, Gemini, Copilot, any MCP client
32
47
  - **Professional grade** — Swiss Ephemeris engine, BPHS-standard calculations
48
+ - **Always up-to-date** — Hosted backend means you always get the latest calculations
33
49
 
34
50
  ---
35
51
 
36
52
  ## 🔧 Manual Config
37
53
 
38
- If auto-setup doesn't work:
54
+ If auto-setup doesn't work for your IDE, add this to your MCP configuration:
39
55
 
40
56
  ```json
41
57
  {
42
58
  "mcpServers": {
43
59
  "kundali-chart": {
44
- "command": "kundali-chart-mcp"
60
+ "command": "npx",
61
+ "args": ["kundali-chart-mcp"]
45
62
  }
46
63
  }
47
64
  }
@@ -56,59 +73,59 @@ If auto-setup doesn't work:
56
73
  - `list_available_chart_types` — D1–D60 vargas
57
74
  - `list_ayanamsa_modes` — 30+ sidereal modes
58
75
  - `list_house_systems` — Placidus, Koch, Equal, Whole Sign, etc.
59
- - `get_transit_positions` — Planetary transits
76
+ - `get_transit_positions` — Current planetary transits
60
77
  - `search_birth_places` — City geocoding
61
78
  - `get_timezone_for_coordinates` — Timezone from lat/lon
62
79
 
63
80
  ### Extended Analysis
64
81
  - `get_extended_chart` — KP SubLord data
65
- - `get_vimshottari_dasha` — Vimshottari Dasha
66
- - `get_pratyantar_dasha` — 3-level dasha
67
- - `get_sookshma_dasha` — 4th level
68
- - `get_prana_dasha` — 5th level
69
- - `get_yogini_dasha` — 8-yogini cycle
70
- - `get_kalachakra_dasha` — 112-year cycle
82
+ - `get_vimshottari_dasha` — Vimshottari Dasha (mahadasha + antardasha)
83
+ - `get_pratyantar_dasha` — 3-level dasha (MD → AD → PD)
84
+ - `get_sookshma_dasha` — 4th level dasha
85
+ - `get_prana_dasha` — 5th level dasha
86
+ - `get_yogini_dasha` — 8-yogini, 36-year cycle
87
+ - `get_kalachakra_dasha` — 112-year sign-based dasha
71
88
  - `get_char_dasha` — Jaimini Chara Dasha
72
89
  - `get_narayana_dasha` — Jaimini Narayana Dasha
73
- - `get_ashtottari_dasha` — 108-year cycle
74
- - `get_planetary_aspects` — All aspects
75
- - `get_significators` — KP significators
90
+ - `get_ashtottari_dasha` — 108-year, 8-planet cycle
91
+ - `get_planetary_aspects` — All planetary aspects
92
+ - `get_significators` — KP planet-wise and house-wise significators
76
93
 
77
94
  ### Yogas & Doshas
78
- - `get_yogas` — Raj Yoga, Gaja Kesari, Dhana, etc.
79
- - `get_doshas` — Mangal, Kaal Sarp, Sade Sati
80
- - `get_special_conditions` — Vargottama, Dig Bala
81
- - `get_nabhasha_yogas` — Ashrayas, Dala, Akriti
82
- - `get_arishta` — Longevity assessment
83
- - `get_kartari` — Kartari Yoga
84
- - `get_gandanta` — Gandanta zones
95
+ - `get_yogas` — Raj Yoga, Gaja Kesari, Dhana Yoga, and 50+ more
96
+ - `get_doshas` — Mangal Dosha, Kaal Sarp Dosha, Sade Sati, Graha Yuddha, Combustion
97
+ - `get_special_conditions` — Vargottama, Pushkara Navamsha, Dig Bala, Jaimini Karakas
98
+ - `get_nabhasha_yogas` — Ashrayas, Dala, Akriti yogas
99
+ - `get_arishta` — Longevity assessment yogas
100
+ - `get_kartari` — Kartari Yoga (hemmed between benefics/malefics)
101
+ - `get_gandanta` — Gandanta zone analysis
85
102
 
86
103
  ### Panchanga & Muhurta
87
104
  - `get_panchanga` — Tithi, Vara, Nakshatra, Yoga, Karana
88
- - `get_muhurta` — Auspicious timing score
89
- - `get_best_muhurta` — Top 5 windows
105
+ - `get_muhurta` — Auspicious timing score for any datetime
106
+ - `get_best_muhurta` — Top 5 auspicious windows in a date range
90
107
  - `get_hora` — Planetary Hour
91
108
 
92
109
  ### Transits & Returns
93
- - `get_gochara` — Transit analysis
94
- - `get_varshaphal` — Solar Return
95
- - `get_tajaka` — Tajaka analysis
96
- - `get_lunar_return` — Chandraphal
97
- - `get_bhava_chalit` — House positions
110
+ - `get_gochara` — Vedic transit analysis
111
+ - `get_varshaphal` — Solar Return chart
112
+ - `get_tajaka` — Tajaka annual analysis
113
+ - `get_lunar_return` — Chandraphal (Lunar Return)
114
+ - `get_bhava_chalit` — Actual house positions
98
115
 
99
116
  ### Compatibility & Special
100
- - `get_compatibility` — Ashtakoot Milan (36-point)
101
- - `get_jaimini` — Full Jaimini analysis
102
- - `get_shadbala` — Six-fold strength
103
- - `get_ashtakavarga` — Benefic points
104
- - `get_avasthas` — 9 planetary states
105
- - `get_upagrahas` — Shadow sub-planets
106
- - `get_nakshatra_analysis` — Deep nakshatra info
107
- - `get_sudarshana_chakra` — Triple-layer chart
108
- - `get_prasna` — Horary chart
117
+ - `get_compatibility` — Ashtakoot Milan (36-point marriage compatibility)
118
+ - `get_jaimini` — Full Jaimini analysis: Chara Karakas, aspects, Karakamsha
119
+ - `get_shadbala` — Six-fold planetary strength
120
+ - `get_ashtakavarga` — Benefic point scores
121
+ - `get_avasthas` — 9 planetary states + Baladi Avasthas
122
+ - `get_upagrahas` — Shadow sub-planets: Gulika, Mandi, Dhuma
123
+ - `get_nakshatra_analysis` — Deep nakshatra information per planet
124
+ - `get_sudarshana_chakra` — Triple-layer chart analysis
125
+ - `get_prasna` — Horary/Question chart
109
126
  - `get_kurmachakra` — Directional analysis
110
- - `get_travel_direction_score` — Direction score (0-100)
111
- - `get_full_kurmachakra_chart` — All 9 directions
127
+ - `get_travel_direction_score` — Direction auspiciousness score (0-100)
128
+ - `get_full_kurmachakra_chart` — All 9 directions reference
112
129
 
113
130
  ---
114
131
 
@@ -0,0 +1,22 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015 FlatAngle
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
@@ -0,0 +1,2 @@
1
+ include LICENSE
2
+ include README.rst
@@ -0,0 +1,31 @@
1
+ # flatlib
2
+
3
+ Flatlib is a python library for Traditional Astrology.
4
+
5
+ ```python
6
+
7
+ >>> date = Datetime('2015/03/13', '17:00', '+00:00')
8
+ >>> pos = GeoPos('38n32', '8w54')
9
+ >>> chart = Chart(date, pos)
10
+
11
+ >>> sun = chart.get(const.SUN)
12
+ >>> print(sun)
13
+ <Sun Pisces +22:47:25 +00:59:51>
14
+
15
+ ```
16
+
17
+ ## Documentation
18
+
19
+ Flatlib's documentation is available at [http://flatlib.readthedocs.org/](http://flatlib.readthedocs.org/).
20
+
21
+
22
+ ## Installation
23
+
24
+ Flatlib is a Python 3 package, make sure you have Python 3 installed on your system.
25
+
26
+ You can install flatlib with `pip3 install flatlib` or download the latest stable version from [https://pypi.python.org/pypi/flatlib](https://pypi.python.org/pypi/flatlib) and install it with `python3 setup.py install`.
27
+
28
+
29
+ ## Development
30
+
31
+ You can clone this repository or download a zip file using the right side buttons.
@@ -0,0 +1,47 @@
1
+ flatlib
2
+ =======
3
+
4
+ A Python 3 library for Traditional Astrology.
5
+
6
+
7
+ Example
8
+ -------
9
+
10
+ ::
11
+
12
+ >>> date = Datetime('2015/03/10', '14:00', '+00:00')
13
+ >>> pos = GeoPos('38n32', '8w54')
14
+ >>> chart = Chart(date, pos)
15
+
16
+ >>> sun = chart.get(const.SUN)
17
+ >>> print(sun)
18
+ <Sun Pisces +19:40:13 +00:59:57>
19
+
20
+
21
+ Changelog
22
+ ---------
23
+
24
+ * 0.2.1 (released 06-05-2016)
25
+ - Added Pars Horsemanship
26
+ - Return accidental dignities that score more than zero
27
+ - Added chartdynamics.disposits to return dignities where planet A disposes a planet B
28
+ - Includes new Triplicity Faces
29
+
30
+ * 0.2.0 (released 08-04-2015)
31
+ - Many new features:
32
+ - Planetary time
33
+ - Arabic Parts
34
+ - Chart Dynamics
35
+ - Accidental dignities
36
+ - Predictives (Profections, Solar Returns and Primary Directions)
37
+ - Protocols (Almutem, Temperament and Behavior calculations)
38
+ - Bug fixes
39
+
40
+ * 0.1.1 (released 18-03-2015)
41
+ - Changed threshold for stationary (1 arc-second)
42
+ - Implementation of essential dignities
43
+ - Added essential dignities recipe
44
+
45
+ * 0.1.0 (released 14-03-2015)
46
+ - Initial release
47
+ - Implementation of core modules
@@ -0,0 +1,195 @@
1
+ # Makefile for Sphinx documentation
2
+ #
3
+
4
+ # You can set these variables from the command line.
5
+ SPHINXOPTS =
6
+ SPHINXBUILD = sphinx-build
7
+ PAPER =
8
+ BUILDDIR = build
9
+
10
+ # User-friendly check for sphinx-build
11
+ ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
12
+ $(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
13
+ endif
14
+
15
+ # Internal variables.
16
+ PAPEROPT_a4 = -D latex_paper_size=a4
17
+ PAPEROPT_letter = -D latex_paper_size=letter
18
+ ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
19
+ # the i18n builder cannot share the environment and doctrees with the others
20
+ I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
21
+
22
+ .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext
23
+
24
+ help:
25
+ @echo "Please use \`make <target>' where <target> is one of"
26
+ @echo " html to make standalone HTML files"
27
+ @echo " dirhtml to make HTML files named index.html in directories"
28
+ @echo " singlehtml to make a single large HTML file"
29
+ @echo " pickle to make pickle files"
30
+ @echo " json to make JSON files"
31
+ @echo " htmlhelp to make HTML files and a HTML help project"
32
+ @echo " qthelp to make HTML files and a qthelp project"
33
+ @echo " applehelp to make an Apple Help Book"
34
+ @echo " devhelp to make HTML files and a Devhelp project"
35
+ @echo " epub to make an epub"
36
+ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
37
+ @echo " latexpdf to make LaTeX files and run them through pdflatex"
38
+ @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
39
+ @echo " text to make text files"
40
+ @echo " man to make manual pages"
41
+ @echo " texinfo to make Texinfo files"
42
+ @echo " info to make Texinfo files and run them through makeinfo"
43
+ @echo " gettext to make PO message catalogs"
44
+ @echo " changes to make an overview of all changed/added/deprecated items"
45
+ @echo " xml to make Docutils-native XML files"
46
+ @echo " pseudoxml to make pseudoxml-XML files for display purposes"
47
+ @echo " linkcheck to check all external links for integrity"
48
+ @echo " doctest to run all doctests embedded in the documentation (if enabled)"
49
+ @echo " coverage to run coverage check of the documentation (if enabled)"
50
+
51
+ clean:
52
+ rm -rf $(BUILDDIR)/*
53
+
54
+ html:
55
+ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
56
+ @echo
57
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
58
+
59
+ dirhtml:
60
+ $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
61
+ @echo
62
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
63
+
64
+ singlehtml:
65
+ $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
66
+ @echo
67
+ @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
68
+
69
+ pickle:
70
+ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
71
+ @echo
72
+ @echo "Build finished; now you can process the pickle files."
73
+
74
+ json:
75
+ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
76
+ @echo
77
+ @echo "Build finished; now you can process the JSON files."
78
+
79
+ htmlhelp:
80
+ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
81
+ @echo
82
+ @echo "Build finished; now you can run HTML Help Workshop with the" \
83
+ ".hhp project file in $(BUILDDIR)/htmlhelp."
84
+
85
+ qthelp:
86
+ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
87
+ @echo
88
+ @echo "Build finished; now you can run "qcollectiongenerator" with the" \
89
+ ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
90
+ @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/flatlib.qhcp"
91
+ @echo "To view the help file:"
92
+ @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/flatlib.qhc"
93
+
94
+ applehelp:
95
+ $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
96
+ @echo
97
+ @echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
98
+ @echo "N.B. You won't be able to view it unless you put it in" \
99
+ "~/Library/Documentation/Help or install it in your application" \
100
+ "bundle."
101
+
102
+ devhelp:
103
+ $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
104
+ @echo
105
+ @echo "Build finished."
106
+ @echo "To view the help file:"
107
+ @echo "# mkdir -p $$HOME/.local/share/devhelp/flatlib"
108
+ @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/flatlib"
109
+ @echo "# devhelp"
110
+
111
+ epub:
112
+ $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
113
+ @echo
114
+ @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
115
+
116
+ latex:
117
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
118
+ @echo
119
+ @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
120
+ @echo "Run \`make' in that directory to run these through (pdf)latex" \
121
+ "(use \`make latexpdf' here to do that automatically)."
122
+
123
+ latexpdf:
124
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
125
+ @echo "Running LaTeX files through pdflatex..."
126
+ $(MAKE) -C $(BUILDDIR)/latex all-pdf
127
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
128
+
129
+ latexpdfja:
130
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
131
+ @echo "Running LaTeX files through platex and dvipdfmx..."
132
+ $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
133
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
134
+
135
+ text:
136
+ $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
137
+ @echo
138
+ @echo "Build finished. The text files are in $(BUILDDIR)/text."
139
+
140
+ man:
141
+ $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
142
+ @echo
143
+ @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
144
+
145
+ texinfo:
146
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
147
+ @echo
148
+ @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
149
+ @echo "Run \`make' in that directory to run these through makeinfo" \
150
+ "(use \`make info' here to do that automatically)."
151
+
152
+ info:
153
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
154
+ @echo "Running Texinfo files through makeinfo..."
155
+ make -C $(BUILDDIR)/texinfo info
156
+ @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
157
+
158
+ gettext:
159
+ $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
160
+ @echo
161
+ @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
162
+
163
+ changes:
164
+ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
165
+ @echo
166
+ @echo "The overview file is in $(BUILDDIR)/changes."
167
+
168
+ linkcheck:
169
+ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
170
+ @echo
171
+ @echo "Link check complete; look for any errors in the above output " \
172
+ "or in $(BUILDDIR)/linkcheck/output.txt."
173
+
174
+ doctest:
175
+ $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
176
+ @echo "Testing of doctests in the sources finished, look at the " \
177
+ "results in $(BUILDDIR)/doctest/output.txt."
178
+
179
+ coverage:
180
+ $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
181
+ @echo "Testing of coverage in the sources finished, look at the " \
182
+ "results in $(BUILDDIR)/coverage/python.txt."
183
+
184
+ xml:
185
+ $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
186
+ @echo
187
+ @echo "Build finished. The XML files are in $(BUILDDIR)/xml."
188
+
189
+ pseudoxml:
190
+ $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
191
+ @echo
192
+ @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
193
+
194
+ livehtml:
195
+ sphinx-autobuild -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@@ -0,0 +1,37 @@
1
+ # Flatlib documentation
2
+
3
+ This document explains how you can setup your environment to build and contribute to the flatlib documentation.
4
+
5
+
6
+ ## Readthedocs
7
+
8
+ Flatlib's documentation is available at [http://flatlib.readthedocs.org/](http://flatlib.readthedocs.org/). Every change to this repository triggers an immediate documentation build on the readthedocs server.
9
+
10
+
11
+ ## Installing Sphinx and Sphinx-autobuild
12
+
13
+ ### Sphinx
14
+
15
+ The flatlib documentation is built from reStructuredText sources using [Sphinx](http://sphinx-doc.org/).
16
+ The preferred way of installing Sphinx is with pip:
17
+
18
+ * `pip install sphinx` on Linux or Mac.
19
+ * `py pip install sphinx` on Windows.
20
+
21
+ Refer to the [Sphinx documentation](http://sphinx-doc.org/install.html) for alternative ways to install Sphinx in your environment.
22
+
23
+ ### Sphinx-autobuild
24
+
25
+ Sphinx-autobuild is a tool to watch a Sphinx directory and rebuild the documentation when a change is detected.
26
+ To install sphinx-autobuild use:
27
+
28
+ * `pip install sphinx-autobuild` on Linux or Mac.
29
+ * `py pip install sphinx-autobuild` on Windows.
30
+
31
+
32
+ ## Build the documention
33
+
34
+ There are two ways for building the documentation, both made possible by the available makefiles. Open a terminal or command prompt and *cd* into the *docs* directory:
35
+
36
+ * To build the HTML documentation, execute `make html`. The generated documentation will be at *docs/build/html*.
37
+ * Execute `make livehtml` to start the autobuild server. Visit the webpage served at `localhost:8000`, and the server will autoreload the page when a change is detected. Quit the server by pressing Ctrl+C (or Command+C).