Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 1 addition & 6 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,7 +1,2 @@
# Auto detect text files and perform LF normalization
* text=auto

docs/** -linguist-documentation

*.rst linguist-detectable
*.ps1 linguist-detectable
* text=auto
57 changes: 57 additions & 0 deletions .github/workflows/pr-bot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: reStructuredPython automated PR Labeling
on:
issue_comment:
types: [created]

jobs:
update-labels:
runs-on: ubuntu-latest
steps:
- name: Parse comment and update PR labels
uses: actions/github-script@v6
with:
script: |
const comment = context.payload.comment.body;
const prNumber = context.payload.issue.number;
const labelsToAdd = [];
const labelsToRemove = [];

const status = {
windows: false,
mac: false,
ubuntu: false
};

if (comment.includes("!windows-passing")) status.windows = true;
if (comment.includes("!windows-failing")) status.windows = false;
if (comment.includes("!mac-passing")) status.mac = true;
if (comment.includes("!mac-failing")) status.mac = false;
if (comment.includes("!ubuntu-passing")) status.ubuntu = true;
if (comment.includes("!ubuntu-failing")) status.ubuntu = false;

const allPassing = status.windows && status.mac && status.ubuntu;
const anyFailing = !status.windows || !status.mac || !status.ubuntu;

if (allPassing) {
labelsToAdd.push("awaiting merge");
labelsToRemove.push("DO-NOT-MERGE");
} else if (anyFailing) {
labelsToAdd.push("DO-NOT-MERGE");
labelsToRemove.push("awaiting merge");
}

await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: prNumber,
labels: labelsToAdd
});

for (const label of labelsToRemove) {
await github.rest.issues.removeLabel({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: prNumber,
name: label
}).catch(() => {});
}
9 changes: 7 additions & 2 deletions compile.bat
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,16 @@ xcopy "%SRC_DIR%\*" "%DEST%" /E /H /C /I /exclude:exclude.txt
pushd "C:\TempBuild"
cl /LD restructuredpython/include/io.c

for %%F in (*.dll) do xcopy "%%F" "%SRC_DIR%/restructuredpython/lib" /Y
set /p arch="Was this run from an x64 tools prompt (y/n) >"
if "%arch%"=="y" (
for %%F in (io.dll) do xcopy "%%F" "%SRC_DIR%/restructuredpython/lib/windows-libs/io64.dll" /Y
) else (
for %%F in (io.dll) do xcopy "%%F" "%SRC_DIR%/restructuredpython/lib/windows-libs/io32.dll" /Y
)

echo Deleting copied files

del /Q "%DEST%\*.*"
del /Q C:\TempBuild

popd

Expand Down
83 changes: 82 additions & 1 deletion docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
copyright = '2025, Rihaan Meher'
author = 'Rihaan Meher'

release = '2.0.0'
release = '2.1.0'
html_favicon = "_static/icon.png"

# -- General configuration ---------------------------------------------------
Expand All @@ -26,3 +26,84 @@

html_theme = 'furo'
html_static_path = ['_static']
html_theme_options = {
"light_css_variables": {
"color-brand-primary": "red",
"color-brand-secondary": "blue",
"color-brand-content": "#CC3333",
"color-admonition-background": "orange",
"color-background-primary": "#e3f2fd",
},
"dark_css_variables": {
"color-foreground-primary": "black",
"color-brand-secondary": "blue",
"color-foreground-secondary": "#5a5c63",
"color-foreground-muted": "#6b6f76",
"color-foreground-border": "#878787",
"color-brand-primary": "red",
"color-brand-content": "#CC3333",
"color-admonition-background": "orange",
"color-background-primary": "#e3f2fd",
"color-background-secondary": "#f8f9fb",
"color-background-hover": "#efeff4ff",
"color-background-border": "#eeebee"
},
"announcement": '''

<nav class="navbar">
<div class="logo">reStructuredPython</div>
<ul class="nav-links">
<li><a href="https://restructuredpython.rf.gd#github">Open Source</a></li>
<li><a href="https://restructuredpython.rf.gd#features">Features</a></li>
<li><a href="/">Docs</a></li>
<li><a href="https://restructuredpython.rf.gd#download">Download</a></li>
<li><a href="https://restructuredpython.rf.gd#community">Community</a></li>
</ul>
</nav>
<style>
:root {
--blue: #3178c6;
--light-blue: #e3f2fd;
--dark-text: #1a1a1a;
--gray: #f5f5f5;
}

nav.navbar {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px;
background: white;
border-bottom: 1px solid #ccc;
}

.navbar .logo {
font-size: 22px;
font-weight: 700;
color: var(--blue);
}

.nav-links {
list-style: none;
display: flex;
gap: 20px;
}

.nav-links a {
color: var(--dark-text);
text-decoration: none;
font-weight: 500;
transition: color 0.3s ease;
}

.nav-links a:hover {
color: var(--blue);
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
</style>
''',
}
5 changes: 4 additions & 1 deletion docs/source/index.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
reStructuredPython Documentation
================================

Welcome to the reStructuredPython documentation! reStructuredPython, also known as 'rePython', is a Python variant that introduces JavaScript-like syntax for a cleaner and more readable coding experience. It compiles seamlessly into standard Python code.
Welcome to the reStructuredPython documentation! reStructuredPython, also known as 'rePython', is a superset of python with full compatibility with existing python libaries that compiles back into standard python!

https://github.com/sharktide/restructuredpython

Getting Started
---------------
Expand Down Expand Up @@ -31,6 +33,7 @@ Features
* **Seamless Compilation:** reStructuredPython code compiles directly into Python, ensuring compatibility with existing Python libraries and frameworks.
* **Enhanced Readability:** The syntax enhancements which include multiline comments aim to improve code readability and reduce verbosity.
* **repyconfig.toml:** Easily control the build of your projects with a repyconfig.toml
* **Strict Types** Enhance your python projects wil strict types in functions with the builtin strict_types decorator

Documentation
-------------
Expand Down
198 changes: 0 additions & 198 deletions docs/source/reference/Builtin_Decorators.rst

This file was deleted.

Loading