Name | lincal JSON |
Version |
0.3.1
JSON |
| download |
home_page | None |
Summary | Linear Calendar Integration - Visualize Linear issues on a calendar interface |
upload_time | 2025-07-13 22:39:56 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | MIT |
keywords |
linear
calendar
task-management
flask
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# LinCal - Linear Calendar
A web application that displays Linear issues on a calendar interface. Similar to lincal.app, this app allows you to visualize your Linear tasks in a calendar view.
## Features
- View Linear issues on a calendar by due date
- Filter issues by team and state
- View detailed information about each issue
- Link directly to issues in Linear
- Responsive design
## Installation Options
### Option 1: Install from PyPI (Recommended)
1. Install using pip or UV:
```bash
# Using pip
pip install lincal
# Or using UV (recommended)
pip install uv
uv pip install lincal
```
2. Create a `.env` file in your working directory:
```
LINEAR_API_KEY=lin_api_xxxxxxxxxxxx
PORT=5000
```
> You can generate an API key in Linear by going to Settings > API > Personal API Keys
> The PORT is optional and defaults to 5001 if not specified
### Option 2: Install from Source
1. Clone this repository
2. Install UV if you don't have it already:
```
pip install uv
```
3. Create and activate a virtual environment:
```
uv venv
# On Windows
.venv\Scripts\activate
# On macOS/Linux
source .venv/bin/activate
```
4. Install dependencies:
```
uv pip install -e .
```
5. Create a `.env` file by copying `.env.example`:
```
cp .env.example .env
```
6. Add your Linear API key and optional port to the `.env` file as shown above.
## Setup (Using pip - Legacy)
1. Clone this repository
2. Install dependencies:
```
pip install -r requirements.txt
```
3. Follow steps 5-6 above for environment setup.
## Running the Application
### If installed from PyPI
Run the application from any directory where you have a `.env` file with your Linear API key:
```bash
# If using UV
uv run -m lincal
# If using standard Python
python -m lincal
```
### If installed from source
Navigate to the project directory and run:
```bash
# If using UV (recommended)
uv python -m lincal
# Or with standard Python
python -m lincal
# Alternative: run the module directly
python lincal/__main__.py
```
The application will be available at http://localhost:5001 by default (or the port specified in your `.env` file)
## Development
### Project Structure
```
linear-cal/
├── app.py # Flask application
├── requirements.txt # Python dependencies
├── .env # Environment variables (not committed)
├── templates/
│ └── index.html # Main HTML template
└── static/
├── css/
│ └── styles.css # Application styles
└── js/
└── calendar.js # Calendar functionality
```
### API Endpoints
- `/api/issues` - Get Linear issues within a date range
- `/api/teams` - Get all teams from Linear
## Distribution and Deployment
### Distribution with UV
To distribute this application so others can install it, you have several options:
#### 1. GitHub Repository (Recommended)
Share your GitHub repository URL. Users can install directly from GitHub:
```bash
# Install UV if not already installed
pip install uv
# Create and activate a virtual environment
uv venv
# On Windows
.venv\Scripts\activate
# On macOS/Linux
source .venv/bin/activate
# Install the app directly from GitHub
uv pip install git+https://github.com/yourusername/linear-cal.git
```
#### 2. PyPI Publication
Publish to PyPI for installation with UV:
```bash
# Build the package
uv pip install build
python -m build
# Upload to PyPI
uv pip install twine
twine upload dist/*
```
Users can then install with:
```bash
uv pip install lincal
```
### Deployment
This application can be deployed to platforms like Heroku, Render, or any service that supports Python web applications.
Make sure to set the `LINEAR_API_KEY` environment variable in your deployment environment.
#### Deployment with UV
If deploying to a custom server, install UV and use it for dependency management:
```bash
# On your server
pip install uv
uv venv
source .venv/bin/activate
uv pip install git+https://github.com/yourusername/linear-cal.git
# Set environment variable
export LINEAR_API_KEY=your_api_key
# Run with gunicorn (for production)
uv pip install gunicorn
gunicorn app:app
```
## Technologies Used
- Backend: Flask (Python)
- Frontend: HTML, CSS, JavaScript
- Calendar: FullCalendar
- API Integration: Linear GraphQL API
Raw data
{
"_id": null,
"home_page": null,
"name": "lincal",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "linear, calendar, task-management, flask",
"author": null,
"author_email": "Vishal Gandhi <igandhivishal@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/a4/a3/db3d195ec9cd92294167353feaa9cedeb979cce29452ffef4fe183985e53/lincal-0.3.1.tar.gz",
"platform": null,
"description": "# LinCal - Linear Calendar\r\n\r\nA web application that displays Linear issues on a calendar interface. Similar to lincal.app, this app allows you to visualize your Linear tasks in a calendar view.\r\n\r\n## Features\r\n\r\n- View Linear issues on a calendar by due date\r\n- Filter issues by team and state\r\n- View detailed information about each issue\r\n- Link directly to issues in Linear\r\n- Responsive design\r\n\r\n## Installation Options\r\n\r\n### Option 1: Install from PyPI (Recommended)\r\n\r\n1. Install using pip or UV:\r\n ```bash\r\n # Using pip\r\n pip install lincal\r\n \r\n # Or using UV (recommended)\r\n pip install uv\r\n uv pip install lincal\r\n ```\r\n\r\n2. Create a `.env` file in your working directory:\r\n ```\r\n LINEAR_API_KEY=lin_api_xxxxxxxxxxxx\r\n PORT=5000\r\n ```\r\n > You can generate an API key in Linear by going to Settings > API > Personal API Keys\r\n > The PORT is optional and defaults to 5001 if not specified\r\n\r\n### Option 2: Install from Source\r\n\r\n1. Clone this repository\r\n2. Install UV if you don't have it already:\r\n ```\r\n pip install uv\r\n ```\r\n3. Create and activate a virtual environment:\r\n ```\r\n uv venv\r\n # On Windows\r\n .venv\\Scripts\\activate\r\n # On macOS/Linux\r\n source .venv/bin/activate\r\n ```\r\n4. Install dependencies:\r\n ```\r\n uv pip install -e .\r\n ```\r\n5. Create a `.env` file by copying `.env.example`:\r\n ```\r\n cp .env.example .env\r\n ```\r\n6. Add your Linear API key and optional port to the `.env` file as shown above.\r\n\r\n## Setup (Using pip - Legacy)\r\n\r\n1. Clone this repository\r\n2. Install dependencies:\r\n ```\r\n pip install -r requirements.txt\r\n ```\r\n3. Follow steps 5-6 above for environment setup.\r\n\r\n## Running the Application\r\n\r\n### If installed from PyPI\r\n\r\nRun the application from any directory where you have a `.env` file with your Linear API key:\r\n\r\n```bash\r\n# If using UV\r\nuv run -m lincal\r\n\r\n# If using standard Python\r\npython -m lincal\r\n```\r\n\r\n### If installed from source\r\n\r\nNavigate to the project directory and run:\r\n\r\n```bash\r\n# If using UV (recommended)\r\nuv python -m lincal\r\n\r\n# Or with standard Python\r\npython -m lincal\r\n\r\n# Alternative: run the module directly\r\npython lincal/__main__.py\r\n```\r\n\r\nThe application will be available at http://localhost:5001 by default (or the port specified in your `.env` file)\r\n\r\n## Development\r\n\r\n### Project Structure\r\n\r\n```\r\nlinear-cal/\r\n\u251c\u2500\u2500 app.py # Flask application\r\n\u251c\u2500\u2500 requirements.txt # Python dependencies\r\n\u251c\u2500\u2500 .env # Environment variables (not committed)\r\n\u251c\u2500\u2500 templates/\r\n\u2502 \u2514\u2500\u2500 index.html # Main HTML template\r\n\u2514\u2500\u2500 static/\r\n \u251c\u2500\u2500 css/\r\n \u2502 \u2514\u2500\u2500 styles.css # Application styles\r\n \u2514\u2500\u2500 js/\r\n \u2514\u2500\u2500 calendar.js # Calendar functionality\r\n```\r\n\r\n### API Endpoints\r\n\r\n- `/api/issues` - Get Linear issues within a date range\r\n- `/api/teams` - Get all teams from Linear\r\n\r\n## Distribution and Deployment\r\n\r\n### Distribution with UV\r\n\r\nTo distribute this application so others can install it, you have several options:\r\n\r\n#### 1. GitHub Repository (Recommended)\r\n\r\nShare your GitHub repository URL. Users can install directly from GitHub:\r\n\r\n```bash\r\n# Install UV if not already installed\r\npip install uv\r\n\r\n# Create and activate a virtual environment\r\nuv venv\r\n# On Windows\r\n.venv\\Scripts\\activate\r\n# On macOS/Linux\r\nsource .venv/bin/activate\r\n\r\n# Install the app directly from GitHub\r\nuv pip install git+https://github.com/yourusername/linear-cal.git\r\n```\r\n\r\n#### 2. PyPI Publication\r\n\r\nPublish to PyPI for installation with UV:\r\n\r\n```bash\r\n# Build the package\r\nuv pip install build\r\npython -m build\r\n\r\n# Upload to PyPI\r\nuv pip install twine\r\ntwine upload dist/*\r\n```\r\n\r\nUsers can then install with:\r\n```bash\r\nuv pip install lincal\r\n```\r\n\r\n### Deployment\r\n\r\nThis application can be deployed to platforms like Heroku, Render, or any service that supports Python web applications.\r\n\r\nMake sure to set the `LINEAR_API_KEY` environment variable in your deployment environment.\r\n\r\n#### Deployment with UV\r\n\r\nIf deploying to a custom server, install UV and use it for dependency management:\r\n\r\n```bash\r\n# On your server\r\npip install uv\r\nuv venv\r\nsource .venv/bin/activate\r\nuv pip install git+https://github.com/yourusername/linear-cal.git\r\n\r\n# Set environment variable\r\nexport LINEAR_API_KEY=your_api_key\r\n\r\n# Run with gunicorn (for production)\r\nuv pip install gunicorn\r\ngunicorn app:app\r\n```\r\n\r\n## Technologies Used\r\n\r\n- Backend: Flask (Python)\r\n- Frontend: HTML, CSS, JavaScript\r\n- Calendar: FullCalendar\r\n- API Integration: Linear GraphQL API\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Linear Calendar Integration - Visualize Linear issues on a calendar interface",
"version": "0.3.1",
"project_urls": {
"Bug Tracker": "https://github.com/ivishalgandhi/linear-cal/issues",
"Homepage": "https://github.com/ivishalgandhi/linear-cal"
},
"split_keywords": [
"linear",
" calendar",
" task-management",
" flask"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "7edb8c844a2cc2187b43510b8980862643cfbdb25d3bcee0515ac59eff7775ec",
"md5": "25bdcd8cdc78b649a0ba6c9e600d8e04",
"sha256": "a510a844fbbfd45a73353c917e33f42293a676cdc6c47c87d1e208c3868395f5"
},
"downloads": -1,
"filename": "lincal-0.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "25bdcd8cdc78b649a0ba6c9e600d8e04",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 15393,
"upload_time": "2025-07-13T22:39:56",
"upload_time_iso_8601": "2025-07-13T22:39:56.015896Z",
"url": "https://files.pythonhosted.org/packages/7e/db/8c844a2cc2187b43510b8980862643cfbdb25d3bcee0515ac59eff7775ec/lincal-0.3.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a4a3db3d195ec9cd92294167353feaa9cedeb979cce29452ffef4fe183985e53",
"md5": "1f76f59e0b1e717d07477ab09caab5f4",
"sha256": "539d72e15a5fd442df26a14b6a1e7ffc34a8185a9a1fbda1565e574d1a34e4cb"
},
"downloads": -1,
"filename": "lincal-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "1f76f59e0b1e717d07477ab09caab5f4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 15919,
"upload_time": "2025-07-13T22:39:56",
"upload_time_iso_8601": "2025-07-13T22:39:56.843258Z",
"url": "https://files.pythonhosted.org/packages/a4/a3/db3d195ec9cd92294167353feaa9cedeb979cce29452ffef4fe183985e53/lincal-0.3.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-13 22:39:56",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ivishalgandhi",
"github_project": "linear-cal",
"github_not_found": true,
"lcname": "lincal"
}