diff --git a/GITHUB_DISCUSSION_ANNOUNCEMENT.md b/GITHUB_DISCUSSION_ANNOUNCEMENT.md deleted file mode 100644 index b2d83cb..0000000 --- a/GITHUB_DISCUSSION_ANNOUNCEMENT.md +++ /dev/null @@ -1,110 +0,0 @@ -# 🎉 StatLang is Now Available on VS Code Marketplace and PyPI! - -We're excited to announce that **StatLang** is now officially available on both the **VS Code Marketplace** and **PyPI**! - -## 📦 Installation Options - -### VS Code Extension -Install the StatLang extension directly from VS Code: -1. Open VS Code -2. Go to Extensions (Cmd+Shift+X / Ctrl+Shift+X) -3. Search for "StatLang" -4. Click Install - -**Or install via command line:** -```bash -code --install-extension RyanBlakeStory.statlang -``` - -**VS Code Marketplace:** [StatLang Extension](https://marketplace.visualstudio.com/items?itemName=RyanBlakeStory.statlang) - -### PyPI Package -Install StatLang via pip: -```bash -pip install statlang -``` - -**PyPI:** [statlang on PyPI](https://pypi.org/project/statlang/) - -## ✨ What is StatLang? - -StatLang is an open-source, Python-based statistical scripting language that provides: - -- **📊 Statistical Analysis**: Comprehensive statistical procedures (PROC MEANS, PROC FREQ, PROC CORR, PROC REG, and many more) -- **🤖 AI Integration**: Built-in PROC LANGUAGE with LLM capabilities for intelligent data analysis -- **🧠 Complete ML Pipeline**: From data exploration to model deployment using familiar syntax -- **💾 Modern SQL**: PROC SQL powered by DuckDB for high-performance data querying -- **📓 Jupyter Support**: Full Jupyter notebook integration with StatLang kernel -- **🎨 VS Code Support**: Syntax highlighting, code execution, and notebook support -- **🔧 Language Features**: Macro system, format system, and robust expression evaluation - -## 🚀 Getting Started - -### Quick Start with VS Code - -1. Install the StatLang extension (see above) -2. Create a new `.statlang` file -3. Start coding with full syntax highlighting! - -### Quick Start with Python - -```python -from stat_lang import StatLangInterpreter - -interpreter = StatLangInterpreter() -code = """ -data work.employees; - input name $ department $ salary; - datalines; -Alice Engineering 75000 -Bob Marketing 55000 -Carol Engineering 80000 -; -run; - -proc means data=work.employees; - var salary; - class department; -run; -""" - -interpreter.run_code(code) -``` - -### Jupyter Notebook Support - -After installing via pip: -```bash -python -m stat_lang.kernel install -``` - -Then select the "StatLang" kernel in your Jupyter notebook! - -## 📚 Documentation - -- **GitHub Repository**: [StatLang on GitHub](https://github.com/ryan-story/StatLang) -- **Full Documentation**: See our [README](https://github.com/ryan-story/StatLang#readme) -- **Examples**: Check out the [examples directory](https://github.com/ryan-story/StatLang/tree/main/examples) - -## 🎯 Current Release - -- **VS Code Extension**: v0.2.4 -- **PyPI Package**: v0.1.3 - -## 🤝 Contributing - -We welcome contributions! StatLang is an open-source project, and we'd love your help improving it. - -- Report bugs: [GitHub Issues](https://github.com/ryan-story/StatLang/issues) -- Contribute code: See our [Contributing Guide](https://github.com/ryan-story/StatLang/blob/main/CONTRIBUTING.md) - -## 📝 License - -StatLang is released under the MIT License - see [LICENSE](https://github.com/ryan-story/StatLang/blob/main/LICENSE) for details. - -## 🙏 Thank You - -Thank you for your interest in StatLang! We're excited to see what you build with it. - -Happy coding! 🎉 - diff --git a/SECURITY.md b/SECURITY.md index bd36f21..14da966 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -67,7 +67,7 @@ We recognize security researchers who help us keep Open-SAS and our users safe b ## Contact For security-related questions or concerns, please contact: -- **Email**: ryan@stryve.com +- **Email**: rbyrots@gmail.com - **GitHub**: Use the Security Advisory system - **Issues**: For non-security related questions, use the regular issue tracker diff --git a/delete_open_sas.py b/delete_open_sas.py deleted file mode 100644 index 1bc24e4..0000000 --- a/delete_open_sas.py +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env python3 -""" -Script to delete open-sas package from PyPI using Warehouse API. - -Note: PyPI typically requires web interface for deletion, but this script -attempts to use the API if available. You may need to use the web interface -at https://pypi.org/manage/projects/ - -Usage: - export PYPI_USERNAME=your_username - export PYPI_PASSWORD=your_password_or_token - python3 delete_open_sas.py -""" - -import os -import sys -import requests -from requests.auth import HTTPBasicAuth - -PYPI_USERNAME = os.environ.get('PYPI_USERNAME') -PYPI_PASSWORD = os.environ.get('PYPI_PASSWORD', '') -PYPI_TOKEN = os.environ.get('PYPI_TOKEN', '') - -if not PYPI_USERNAME: - print("Error: PYPI_USERNAME environment variable not set") - print("\nTo delete via web interface:") - print("1. Go to https://pypi.org/manage/projects/") - print("2. Find 'open-sas' project") - print("3. Delete each release (0.1.0, 0.1.1, 0.1.2)") - print("4. Delete the entire project") - sys.exit(1) - -# PyPI Warehouse API endpoint -BASE_URL = "https://pypi.org" - -# Note: PyPI's deletion API may not be publicly available -# The following is a demonstration - you'll likely need to use the web interface -print("Warning: PyPI typically requires deletion through the web interface.") -print("This script may not work. Please use:") -print(" https://pypi.org/manage/projects/") -print() - -# Try to delete releases (if API supports it) -releases_to_delete = ['0.1.0', '0.1.1', '0.1.2'] -package_name = 'open-sas' - -for version in releases_to_delete: - delete_url = f"{BASE_URL}/pypi/{package_name}/{version}/" - print(f"Attempting to delete {package_name} version {version}...") - - # Most PyPI APIs don't support DELETE - this is for reference only - print(f" → Manual deletion required at: {BASE_URL}/project/{package_name}/{version}/") - print(f" Or visit: https://pypi.org/manage/project/{package_name}/releases/") - -print("\nTo delete via web interface:") -print(f"1. Go to https://pypi.org/manage/project/{package_name}/releases/") -print(f"2. Delete each release: {', '.join(releases_to_delete)}") -print(f"3. Then delete the entire project at: https://pypi.org/manage/project/{package_name}/") -print("\nNote: Package deletion requires confirmation on the web interface.") -