Get your portfolio up and running in 5 minutes!
# Clone the repository
git clone https://github.com/jmenichole/Portfolio-Necromancer.git
cd Portfolio-Necromancer
# Install the package
pip install -e .
Want to see what Portfolio Necromancer can do? Run the demo:
python demo.py
This will generate a sample portfolio with 10 projects in demo_portfolio/demo/. Open demo_portfolio/demo/index.html in your browser to see the result!
Want to deploy this demo portfolio online? See GITHUB_PAGES_SETUP.md for instructions on deploying to GitHub Pages.
portfolio-necromancer --init
This creates a config.yaml file with default settings.
Open config.yaml and update your information:
user:
name: "Your Name"
email: "your.email@example.com"
title: "Your Title"
bio: "Your bio"
For AI-powered features, add your OpenAI API key:
ai:
api_key: "sk-your-openai-key"
For data scraping, add credentials for:
You can start without API credentials by using the demo script as a template:
from portfolio_necromancer import PortfolioNecromancer
from portfolio_necromancer.models import Portfolio, Project, ProjectCategory, ProjectSource
# Create manual projects
projects = [
Project(
title="My Awesome Project",
description="Description of your project",
category=ProjectCategory.CODE,
source=ProjectSource.MANUAL,
tags=["python", "web"]
)
]
# Create portfolio
portfolio = Portfolio(
owner_name="Your Name",
owner_email="you@example.com",
owner_title="Developer",
owner_bio="Your bio",
projects=projects
)
# Generate
from portfolio_necromancer.generator import PortfolioGenerator
generator = PortfolioGenerator({'output_dir': './my_portfolio'})
generator.generate(portfolio)
Once you have API credentials configured:
portfolio-necromancer
This will:
After generation, open the index.html file in your browser:
# On macOS
open generated_portfolios/portfolio_*/index.html
# On Linux
xdg-open generated_portfolios/portfolio_*/index.html
# On Windows
start generated_portfolios/portfolio_*/index.html
src/portfolio_necromancer/templates/assets/style.cssconfig.yamlMake sure you installed the package:
pip install -e .
config.yamlcredentials.json for Google) are in the correct locationPro Tip: Start with the demo, then gradually add your own data sources!