Skip to the content.

ScienceMedium: Intelligent Scientific Content Publishing Pipeline

ScienceMedium is an AI-powered writing and publishing pipeline designed specifically for researchers and science writers. This tool addresses the unique challenges of scientific writing by combining intelligent research assistance, flexible content creation, and automated publishing to Medium.

Overview

ScienceMedium eliminates the friction between complex scientific content creation and online publishing by:

  1. Format-Agnostic Writing: Write in your preferred style without rigid Markdown/LaTeX constraints
  2. On-Demand AI Assistance: Get intelligent writing suggestions only when you request them
  3. Metacognitive Orchestration: An LLM-powered system that ensures quality and completeness
  4. Contextual Research Integration: Automated information gathering tied to your specific context
  5. Seamless Medium Publishing: Automatic conversion and publishing once content meets quality standards

Features

๐Ÿ–‹๏ธ Format-Agnostic Writing

๐Ÿง  Intelligent Assistance

๐Ÿ” Contextual Research Engine

๐Ÿงฉ Modular Text Architecture

๐Ÿ“ค Automated Medium Publishing

Installation

# Clone the repository
git clone https://github.com/yourusername/ScienceMedium.git
cd ScienceMedium

# Install dependencies
pip install -r requirements.txt

# Set up configuration
python setup.py

Configuration

Before using ScienceMedium, youโ€™ll need to:

  1. Obtain a Medium API Integration Token
    • Log in to your Medium account
    • Go to Settings > Integration tokens
    • Create a new token and copy it
  2. Configure the application
    python src/configure.py --medium-token "your_token_here"
    
  3. (Optional) Configure HuggingFace API access for enhanced AI features
    python src/configure.py --huggingface-token "your_hf_token_here"
    

Usage

Basic Workflow

  1. Create a new article
    python src/main.py new "My Scientific Article Title"
    
  2. Write and edit content
    • Edit the created markdown file in your preferred editor
    • Use special syntax for research queries and AI assistance
  3. Request AI assistance
    python src/main.py assist article_filename.md
    
  4. Perform contextual research
    python src/main.py research article_filename.md "research query"
    
  5. Validate content
    python src/main.py validate article_filename.md
    
  6. Publish to Medium
    python src/main.py publish article_filename.md
    

Special Syntax

ScienceMedium uses special syntax to trigger specific functions:

Project Structure

ScienceMedium/
โ”œโ”€โ”€ README.md               # This documentation
โ”œโ”€โ”€ requirements.txt        # Python dependencies
โ”œโ”€โ”€ setup.py                # Installation script
โ”œโ”€โ”€ src/                    # Source code
โ”‚   โ”œโ”€โ”€ __init__.py         # Package initialization
โ”‚   โ”œโ”€โ”€ main.py             # Main entry point
โ”‚   โ”œโ”€โ”€ configure.py        # Configuration utility
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ quality.py      # Content quality assessment
โ”‚   โ”‚   โ””โ”€โ”€ task.py         # Task management
โ”‚   โ”œโ”€โ”€ assistance/         # AI writing assistance
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ grammar.py      # Grammar checking
โ”‚   โ”‚   โ””โ”€โ”€ suggestions.py  # Content improvement
โ”‚   โ”œโ”€โ”€ research/           # Research engine
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ search.py       # Search functionality
โ”‚   โ”‚   โ””โ”€โ”€ knowledge.py    # Knowledge database
โ”‚   โ”œโ”€โ”€ publishing/         # Medium publishing
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ converter.py    # Format conversion
โ”‚   โ”‚   โ””โ”€โ”€ api.py          # Medium API integration
โ”‚   โ””โ”€โ”€ utils/              # Utility functions
โ”‚       โ”œโ”€โ”€ __init__.py
โ”‚       โ””โ”€โ”€ file.py         # File operations
โ””โ”€โ”€ examples/               # Example articles and configurations
    โ””โ”€โ”€ sample_article.md   # Sample article with annotations

Requirements

Contributing

This project is in active development. Contributions are welcome through:

License

This project is available under the MIT License - see the LICENSE file for details.