Cursor, tekrarlanabilir ortamlar, notebook desteği ve yapay zekâ destekli kod yardımıyla veri bilimi geliştirme için entegre araçlar sunar. Bu rehber, Python, R ve SQL iş akışları için temel kurulum örüntülerini kapsar.

Notebook geliştirme

Tam notebook desteği için ms-toolsai tarafından yayınlanan Jupyter (id: ms-toolsai.jupyter) uzantısını indir.
Cursor, entegre hücre çalıştırma ile hem .ipynb hem de .py dosyalarını destekler. Tab, Inline Edit ve Agent, diğer kod dosyalarında olduğu gibi notebook’larda da çalışır. Öne çıkan özellikler:
  • Satır içi hücre çalıştırma, kodu doğrudan editör arayüzünde çalıştırır
  • Tab, Inline Edit ve Agent, pandas, NumPy, scikit-learn ve SQL magic komutları dahil veri bilimi kütüphanelerini anlar

Veritabanı entegrasyonu

Veritabanlarını Cursor’a iki ana mekanizma ile entegre edebilirsin: MCP sunucuları ve Extensions.
  • MCP Servers Agent’lerinin veritabanlarına bağlanmasını sağlar
  • Extensions IDE’ni veritabanlarınla entegre eder

MCP ile

MCP sunucuları, agent’inin veritabanına doğrudan sorgu göndermesine olanak tanır. Böylece agent’in veritabanını sorgulamayı seçebilir, uygun sorguyu yazar, komutu çalıştırır ve çıktıları analiz eder — tümü devam eden bir görevin parçası olarak. Örneğin, aşağıdaki MCP config’i Cursor’a ekleyerek bir Postgres veritabanını Cursor instance’ına bağlayabilirsin:
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://localhost/mydb"
      ]
    }
  }
}
MCP hakkında daha fazlası için MCP dokümantasyonumuza bak.

Extensions ile

Editörden doğrudan sorgu çalıştırmak için veritabanına özel eklentileri (PostgreSQL, BigQuery, SQLite, Snowflake) kur. Bu, araçlar arasında bağlam değiştirmeyi ortadan kaldırır ve sorgu optimizasyonu için yapay zekâ desteğini etkinleştirir.
-- Cursor dizinler, window function'lar ve sorgu optimizasyonu için öneriler sunar
SELECT
    user_id,
    event_type,
    COUNT(*) as event_count,
    RANK() OVER (PARTITION BY user_id ORDER BY COUNT(*) DESC) as frequency_rank
FROM events
WHERE created_at >= NOW() - INTERVAL '7 days'
GROUP BY user_id, event_type;
Yavaş sorguları analiz etmek, performans iyileştirmeleri önermek veya sorgu sonuçları için görselleştirme kodu üretmek için Agents kullan. Cursor SQL bağlamını anlar ve veri yapına göre uygun grafik türlerini önerebilir.
Snowflake Extension

Veri görselleştirme

Cursor’ın yapay zekâ desteği, Matplotlib, Plotly ve Seaborn gibi veri görselleştirme kütüphanelerini de kapsar. Aracımız, veri görselleştirme için kod üretebilir; böylece verileri hızlı ve kolayca keşfederken, tekrarlanabilir ve paylaşılabilir bir çıktı oluşturursun.
import plotly.express as px
import pandas as pd

# Yapay zekâ, veri sütunlarına göre ilgili grafik türlerini önerir
df = pd.read_csv('sales_data.csv')
fig = px.scatter(df, x='advertising_spend', y='revenue',
                 color='region', size='customer_count',
                 title='Revenue vs Advertising Spend by Region')
fig.show()

Sık sorulan sorular

Mevcut Jupyter notebook’larını kullanabilir miyim? Evet, Cursor .ipynb dosyalarını tam hücre yürütme ve AI tamamlaması desteğiyle açar. Belleğe sığmayan büyük veri kümelerini nasıl işlerim? Dask gibi dağıtık hesaplama kütüphanelerini kullan ya da Remote-SSH bağlantılarıyla daha büyük makinelerdeki Spark kümelerine bağlan. Cursor R ve SQL dosyalarını destekliyor mu? Evet, Cursor R betikleri (.R) ve SQL dosyaları (.sql) için AI yardımı ve sözdizimi vurgulaması sağlar. Geliştirme ortamlarını paylaşmanın önerilen yolu nedir? .devcontainer klasörünü sürüm kontrolüne ekle. Ekip üyeleri projeyi açtığında ortamı otomatik olarak yeniden oluşturabilir. Veri işleme boru hatlarını nasıl hata ayıklarım? Cursor’un entegre hata ayıklayıcısını Python betiklerinde kesme noktalarıyla kullan, ya da Agent’ı kullanarak karmaşık veri dönüşümlerini adım adım analiz edip açıklat.

Ortamın yeniden üretilebilirliği

Geliştirme konteynerları

Geliştirme konteynerları, ekip üyeleri ve dağıtım ortamları arasında tutarlı çalışma zamanları ve bağımlılıkları sağlamana yardımcı olur. Ortama özgü hataları ortadan kaldırabilir ve yeni ekip üyelerinin işe alıştırma süresini kısaltabilir. Bir geliştirme konteynerı kullanmak için depo köküne bir .devcontainer klasörü oluşturarak başla. Ardından devcontainer.json, Dockerfile ve requirements.txt dosyalarını oluştur.
// .devcontainer/devcontainer.json
{
  "name": "ds-env",
  "build": { "dockerfile": "Dockerfile" },
  "features": {
    "ghcr.io/devcontainers/features/python:1": { "version": "3.11" }
  },
  "postCreateCommand": "pip install -r requirements.txt"
}
# .devcontainer/Dockerfile
FROM mcr.microsoft.com/devcontainers/python:3.11
COPY requirements.txt .
RUN pip install --upgrade pip && \
    pip install -r requirements.txt
# requirements.txt
pandas==2.3.0
numpy
# projen için ihtiyaç duyduğun diğer bağımlılıkları ekle
Cursor devcontainer’ı otomatik olarak algılar ve projeni bir konteyner içinde yeniden açmanı ister. İstersen Komut Paleti’ni (Ctrl+Shift+P) kullanıp Reopen in Container aratarak elle de konteyner içinde yeniden açabilirsin. Geliştirme konteynerlarının birkaç avantajı var:
  • Bağımlılık izolasyonu projeler arasında çakışmaları önler
  • Yeniden üretilebilir derlemeler geliştirme ve üretim ortamları genelinde tutarlı davranışı sağlar
  • Basitleştirilmiş onboarding yeni ekip üyelerinin manuel kurulum olmadan hemen başlamasına olanak tanır

SSH ile uzaktan geliştirme

Analizin ek hesaplama kaynakları, GPU’lar veya özel veri kümelerine erişim gerektirdiğinde, yerel geliştirme ortamını korurken uzak makinelere bağlan.
  1. Gerekli kaynaklara sahip bir bulut örneği hazırlayabilir ya da şirket içi bir sunucuya erişebilirsin
  2. .devcontainer yapılandırması dahil olmak üzere depoyu uzak makineye klonla
  3. Cursor üzerinden bağlan: Ctrl+Shift+P → “Remote-SSH: Connect to Host”
Bu yaklaşım, gerektiğinde hesaplama kaynaklarını ölçeklerken tutarlı araç setini korur. Aynı geliştirme konteynerı yapılandırması yerel ve uzak ortamların tümünde çalışır.