Para quem copiar e der erro, segue versão corrigida com indicações nos comentarios
import os
from os.path import join
import pandas as pd
from datetime import datetime, timedelta
# intervalo de datas
data_inicio = datetime.today()
data_fim = data_inicio + timedelta(days=7)
# formatação das data de inicio errado
data_inicio = data_inicio.strftime('%Y-%m-%d')
data_fim = data_fim.strftime('%Y-%m-%d')
city = 'Boston'
key = 'ANZQ5K8QQP8BXZ85F4EQ2FPK'
#Nome da variavel errado
URL = join('https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/',
f'{city}/{data_inicio}/{data_fim}?unitGroup=metric&include=days&key={key}&contentType=csv')
dados = pd.read_csv(URL)
print(dados.head())
#A falta da barra no final pode ocasionar em erro de path na hora de concatenar as strings
file_path = f'home/millenagena/Documents/datapipeline/semana={data_inicio}/'
os.mkdir(file_path)
dados.to_csv(file_path + 'dados_brutos.csv')
dados[['datetime', 'tempmin', 'temp', 'tempmax']].to_csv(file_path + 'temperaturas.csv')
dados[['datetime', 'description', 'icon']].to_csv(file_path + 'condicoes.csv')